home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat1 / perldiag.z / perldiag
Text File  |  1998-10-30  |  137KB  |  3,367 lines

  1.  
  2.  
  3.  
  4. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      perldiag - various Perl diagnostics
  10.  
  11. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  12.      These messages are classified as follows (listed in increasing order of
  13.      desperation):
  14.  
  15.          (W) A warning (optional).
  16.          (D) A deprecation (optional).
  17.          (S) A severe warning (mandatory).
  18.          (F) A fatal error (trappable).
  19.          (P) An internal error you should never see (trappable).
  20.          (X) A very fatal error (nontrappable).
  21.          (A) An alien error message (not generated by Perl).
  22.  
  23.      Optional warnings are enabled by using the ----wwww switch.  Warnings may be
  24.      captured by setting $SIG{__WARN__} to a reference to a routine that will
  25.      be called on each warning instead of printing it.  See the _p_e_r_l_v_a_r
  26.      manpage.  Trappable errors may be trapped using the eval operator.  See
  27.      the eval entry in the _p_e_r_l_f_u_n_c manpage.
  28.  
  29.      Some of these messages are generic.  Spots that vary are denoted with a
  30.      %s, just as in a printf format.  Note that some messages start with a %s!
  31.      The symbols "%(-?@ sort before the letters, while [ and \ sort after.
  32.  
  33.      "my" variable %s can't be in a package
  34.          (F) Lexically scoped variables aren't in a package, so it doesn't
  35.          make sense to try to declare one with a package qualifier on the
  36.          front.  Use _l_o_c_a_l() if you want to localize a package variable.
  37.  
  38.      "my" variable %s masks earlier declaration in same scope
  39.          (W) A lexical variable has been redeclared in the same scope,
  40.          effectively eliminating all access to the previous instance.  This is
  41.          almost always a typographical error.  Note that the earlier variable
  42.          will still exist until the end of the scope or until all closure
  43.          referents to it are destroyed.
  44.  
  45.      "no" not allowed in expression
  46.          (F) The "no" keyword is recognized and executed at compile time, and
  47.          returns no useful value.  See the _p_e_r_l_m_o_d manpage.
  48.  
  49.      "use" not allowed in expression
  50.          (F) The "use" keyword is recognized and executed at compile time, and
  51.          returns no useful value.  See the _p_e_r_l_m_o_d manpage.
  52.  
  53.      % may only be used in unpack
  54.          (F) You can't pack a string by supplying a checksum, because the
  55.          checksumming process loses information, and you can't go the other
  56.          way.  See the unpack entry in the _p_e_r_l_f_u_n_c manpage.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  71.  
  72.  
  73.  
  74.      %s (...) interpreted as function
  75.          (W) You've run afoul of the rule that says that any list operator
  76.          followed by parentheses turns into a function, with all the list
  77.          operators arguments found inside the parentheses.  See the section on
  78.          _T_e_r_m_s _a_n_d _L_i_s_t _O_p_e_r_a_t_o_r_s (_L_e_f_t_w_a_r_d) in the _p_e_r_l_o_p manpage.
  79.  
  80.      %s argument is not a HASH element
  81.          (F) The argument to _e_x_i_s_t_s() must be a hash element, such as
  82.  
  83.              $foo{$bar}
  84.              $ref->[12]->{"susie"}
  85.  
  86.  
  87.      %s argument is not a HASH element or slice
  88.          (F) The argument to _d_e_l_e_t_e() must be either a hash element, such as
  89.  
  90.              $foo{$bar}
  91.              $ref->[12]->{"susie"}
  92.  
  93.          or a hash slice, such as
  94.  
  95.              @foo{$bar, $baz, $xyzzy}
  96.              @{$ref->[12]}{"susie", "queue"}
  97.  
  98.  
  99.      %s did not return a true value
  100.          (F) A required (or used) file must return a true value to indicate
  101.          that it compiled correctly and ran its initialization code correctly.
  102.          It's traditional to end such a file with a "1;", though any true
  103.          value would do.  See the require entry in the _p_e_r_l_f_u_n_c manpage.
  104.  
  105.      %s found where operator expected
  106.          (S) The Perl lexer knows whether to expect a term or an operator.  If
  107.          it sees what it knows to be a term when it was expecting to see an
  108.          operator, it gives you this warning.  Usually it indicates that an
  109.          operator or delimiter was omitted, such as a semicolon.
  110.  
  111.      %s had compilation errors
  112.          (F) The final summary message when a perl -c fails.
  113.  
  114.      %s has too many errors
  115.          (F) The parser has given up trying to parse the program after 10
  116.          errors.  Further error messages would likely be uninformative.
  117.  
  118.      %s matches null string many times
  119.          (W) The pattern you've specified would be an infinite loop if the
  120.          regular expression engine didn't specifically check for that.  See
  121.          the _p_e_r_l_r_e manpage.
  122.  
  123.      %s never introduced
  124.          (S) The symbol in question was declared but somehow went out of scope
  125.          before it could possibly have been used.
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  137.  
  138.  
  139.  
  140.      %s syntax OK
  141.          (F) The final summary message when a perl -c succeeds.
  142.  
  143.      %s: Command not found
  144.          (A) You've accidentally run your script through ccccsssshhhh instead of Perl.
  145.          Check the #! line, or manually feed your script into Perl yourself.
  146.  
  147.      %s: Expression syntax
  148.          (A) You've accidentally run your script through ccccsssshhhh instead of Perl.
  149.          Check the #! line, or manually feed your script into Perl yourself.
  150.  
  151.      %s: Undefined variable
  152.          (A) You've accidentally run your script through ccccsssshhhh instead of Perl.
  153.          Check the #! line, or manually feed your script into Perl yourself.
  154.  
  155.      %s: not found
  156.          (A) You've accidentally run your script through the Bourne shell
  157.          instead of Perl.  Check the #! line, or manually feed your script
  158.          into Perl yourself.
  159.  
  160.      (Missing semicolon on previous line?)
  161.          (S) This is an educated guess made in conjunction with the message
  162.          "%s found where operator expected".  Don't automatically put a
  163.          semicolon on the previous line just because you saw this message.
  164.  
  165.      ----PPPP not allowed for setuid/setgid script
  166.          (F) The script would have to be opened by the C preprocessor by name,
  167.          which provides a race condition that breaks security.
  168.  
  169.      -T and -B not implemented on filehandles
  170.          (F) Perl can't peek at the stdio buffer of filehandles when it
  171.          doesn't know about your kind of stdio.  You'll have to use a filename
  172.          instead.
  173.  
  174.      -p destination: %s
  175.          (F) An error occurred during the implicit output invoked by the -p
  176.          command-line switch.  (This output goes to STDOUT unless you've
  177.          redirected it with _s_e_l_e_c_t().)
  178.  
  179.      500 Server error
  180.          See Server error.
  181.  
  182.      ?+* follows nothing in regexp
  183.          (F) You started a regular expression with a quantifier.  Backslash it
  184.          if you meant it literally.   See the _p_e_r_l_r_e manpage.
  185.  
  186.      @ outside of string
  187.          (F) You had a pack template that specified an absolute position
  188.          outside the string being unpacked.  See the pack entry in the
  189.          _p_e_r_l_f_u_n_c manpage.
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  203.  
  204.  
  205.  
  206.      accept() on closed fd
  207.          (W) You tried to do an accept on a closed socket.  Did you forget to
  208.          check the return value of your _s_o_c_k_e_t() call?  See the accept entry
  209.          in the _p_e_r_l_f_u_n_c manpage.
  210.  
  211.      Allocation too large: %lx
  212.          (X) You can't allocate more than 64K on an MS-DOS machine.
  213.  
  214.      Allocation too large
  215.          (F) You can't allocate more than 2^31+"small amount" bytes.
  216.  
  217.      Applying %s to %s will act on scalar(%s)
  218.          (W) The pattern match (//), substitution (s///), and translation
  219.          (tr///) operators work on scalar values.  If you apply one of them to
  220.          an array or a hash, it will convert the array or hash to a scalar
  221.          value -- the length of an array, or the population info of a hash --
  222.          and then work on that scalar value.  This is probably not what you
  223.          meant to do.  See the grep entry in the _p_e_r_l_f_u_n_c manpage and the map
  224.          entry in the _p_e_r_l_f_u_n_c manpage for alternatives.
  225.  
  226.      Arg too short for msgsnd
  227.          (F) _m_s_g_s_n_d() requires a string at least as long as _s_i_z_e_o_f(long).
  228.  
  229.      Ambiguous use of %s resolved as %s
  230.          (W)(S) You said something that may not be interpreted the way you
  231.          thought.  Normally it's pretty easy to disambiguate it by supplying a
  232.          missing quote, operator, parenthesis pair or declaration.
  233.  
  234.      Args must match #! line
  235.          (F) The setuid emulator requires that the arguments Perl was invoked
  236.          with match the arguments specified on the #! line.  Since some
  237.          systems impose a one-argument limit on the #! line, try combining
  238.          switches; for example, turn -w -U into -wU.
  239.  
  240.      Argument "%s" isn't numeric%s
  241.          (W) The indicated string was fed as an argument to an operator that
  242.          expected a numeric value instead.  If you're fortunate the message
  243.          will identify which operator was so unfortunate.
  244.  
  245.      Array @%s missing the @ in argument %d of %s()
  246.          (D) Really old Perl let you omit the @ on array names in some spots.
  247.          This is now heavily deprecated.
  248.  
  249.      assertion botched: %s
  250.          (P) The malloc package that comes with Perl had an internal failure.
  251.  
  252.      Assertion failed: file "%s"
  253.          (P) A general assertion failed.  The file in question must be
  254.          examined.
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  269.  
  270.  
  271.  
  272.      Assignment to both a list and a scalar
  273.          (F) If you assign to a conditional operator, the 2nd and 3rd
  274.          arguments must either both be scalars or both be lists.  Otherwise
  275.          Perl won't know which context to supply to the right side.
  276.  
  277.      Attempt to free non-arena SV: 0x%lx
  278.          (P) All SV objects are supposed to be allocated from arenas that will
  279.          be garbage collected on exit.  An SV was discovered to be outside any
  280.          of those arenas.
  281.  
  282.      Attempt to free nonexistent shared string
  283.          (P) Perl maintains a reference counted internal table of strings to
  284.          optimize the storage and access of hash keys and other strings.  This
  285.          indicates someone tried to decrement the reference count of a string
  286.          that can no longer be found in the table.
  287.  
  288.      Attempt to free temp prematurely
  289.          (W) Mortalized values are supposed to be freed by the _f_r_e_e__t_m_p_s()
  290.          routine.  This indicates that something else is freeing the SV before
  291.          the _f_r_e_e__t_m_p_s() routine gets a chance, which means that the
  292.          _f_r_e_e__t_m_p_s() routine will be freeing an unreferenced scalar when it
  293.          does try to free it.
  294.  
  295.      Attempt to free unreferenced glob pointers
  296.          (P) The reference counts got screwed up on symbol aliases.
  297.  
  298.      Attempt to free unreferenced scalar
  299.          (W) Perl went to decrement the reference count of a scalar to see if
  300.          it would go to 0, and discovered that it had already gone to 0
  301.          earlier, and should have been freed, and in fact, probably was freed.
  302.          This could indicate that _S_v_R_E_F_C_N_T__d_e_c() was called too many times, or
  303.          that _S_v_R_E_F_C_N_T__i_n_c() was called too few times, or that the SV was
  304.          mortalized when it shouldn't have been, or that memory has been
  305.          corrupted.
  306.  
  307.      Attempt to pack pointer to temporary value
  308.          (W) You tried to pass a temporary value (like the result of a
  309.          function, or a computed expression) to the "p" _p_a_c_k() template.  This
  310.          means the result contains a pointer to a location that could become
  311.          invalid anytime, even before the end of the current statement.  Use
  312.          literals or global values as arguments to the "p" _p_a_c_k() template to
  313.          avoid this warning.
  314.  
  315.      Attempt to use reference as lvalue in substr
  316.          (W) You supplied a reference as the first argument to _s_u_b_s_t_r() used
  317.          as an lvalue, which is pretty strange.  Perhaps you forgot to
  318.          dereference it first.  See the substr entry in the _p_e_r_l_f_u_n_c manpage.
  319.  
  320.      Bad arg length for %s, is %d, should be %d
  321.          (F) You passed a buffer of the wrong size to one of _m_s_g_c_t_l(),
  322.          _s_e_m_c_t_l() or _s_h_m_c_t_l().  In C parlance, the correct sizes are,
  323.          respectively, sizeof(struct msqid_ds *), sizeof(struct semid_ds *),
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  335.  
  336.  
  337.  
  338.          and sizeof(struct shmid_ds *).
  339.  
  340.      Bad filehandle: %s
  341.          (F) A symbol was passed to something wanting a filehandle, but the
  342.          symbol has no filehandle associated with it.  Perhaps you didn't do
  343.          an _o_p_e_n(), or did it in another package.
  344.  
  345.      Bad free() ignored
  346.          (S) An internal routine called _f_r_e_e() on something that had never
  347.          been _m_a_l_l_o_c()ed in the first place. Mandatory, but can be disabled by
  348.          setting environment variable PERL_BADFREE to 1.
  349.  
  350.          This message can be quite often seen with DB_File on systems with
  351.          "hard" dynamic linking, like AIX and OS/2. It is a bug of Berkeley DB
  352.          which is left unnoticed if DB uses _f_o_r_g_i_v_i_n_g system _m_a_l_l_o_c().
  353.  
  354.      Bad hash
  355.          (P) One of the internal hash routines was passed a null HV pointer.
  356.  
  357.      Bad name after %s::
  358.          (F) You started to name a symbol by using a package prefix, and then
  359.          didn't finish the symbol.  In particular, you can't interpolate
  360.          outside of quotes, so
  361.  
  362.              $var = 'myvar';
  363.              $sym = mypack::$var;
  364.  
  365.          is not the same as
  366.  
  367.              $var = 'myvar';
  368.              $sym = "mypack::$var";
  369.  
  370.  
  371.      Bad symbol for array
  372.          (P) An internal request asked to add an array entry to something that
  373.          wasn't a symbol table entry.
  374.  
  375.      Bad symbol for filehandle
  376.          (P) An internal request asked to add a filehandle entry to something
  377.          that wasn't a symbol table entry.
  378.  
  379.      Bad symbol for hash
  380.          (P) An internal request asked to add a hash entry to something that
  381.          wasn't a symbol table entry.
  382.  
  383.      Badly placed ()'s
  384.          (A) You've accidentally run your script through ccccsssshhhh instead of Perl.
  385.          Check the #! line, or manually feed your script into Perl yourself.
  386.  
  387.      Bareword "%s" not allowed while "strict subs" in use
  388.          (F) With "strict subs" in use, a bareword is only allowed as a
  389.          subroutine identifier, in curly braces or to the left of the "=>"
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  401.  
  402.  
  403.  
  404.          symbol.  Perhaps you need to predeclare a subroutine?
  405.  
  406.      BEGIN failed--compilation aborted
  407.          (F) An untrapped exception was raised while executing a BEGIN
  408.          subroutine.  Compilation stops immediately and the interpreter is
  409.          exited.
  410.  
  411.      BEGIN not safe after errors--compilation aborted
  412.          (F) Perl found a BEGIN {} subroutine (or a use directive, which
  413.          implies a BEGIN {}) after one or more compilation errors had already
  414.          occurred.  Since the intended environment for the BEGIN {} could not
  415.          be guaranteed (due to the errors), and since subsequent code likely
  416.          depends on its correct operation, Perl just gave up.
  417.  
  418.      bind() on closed fd
  419.          (W) You tried to do a bind on a closed socket.  Did you forget to
  420.          check the return value of your _s_o_c_k_e_t() call?  See the bind entry in
  421.          the _p_e_r_l_f_u_n_c manpage.
  422.  
  423.      Bizarre copy of %s in %s
  424.          (P) Perl detected an attempt to copy an internal value that is not
  425.          copiable.
  426.  
  427.      Callback called exit
  428.          (F) A subroutine invoked from an external package via _p_e_r_l__c_a_l_l__s_v()
  429.          exited by calling exit.
  430.  
  431.      Can't "goto" outside a block
  432.          (F) A "goto" statement was executed to jump out of what might look
  433.          like a block, except that it isn't a proper block.  This usually
  434.          occurs if you tried to jump out of a _s_o_r_t() block or subroutine,
  435.          which is a no-no.  See the goto entry in the _p_e_r_l_f_u_n_c manpage.
  436.  
  437.      Can't "goto" into the middle of a foreach loop
  438.          (F) A "goto" statement was executed to jump into the middle of a
  439.          foreach loop.  You can't get there from here.  See the goto entry in
  440.          the _p_e_r_l_f_u_n_c manpage.
  441.  
  442.      Can't "last" outside a block
  443.          (F) A "last" statement was executed to break out of the current
  444.          block, except that there's this itty bitty problem called there isn't
  445.          a current block.  Note that an "if" or "else" block doesn't count as
  446.          a "loopish" block, as doesn't a block given to _s_o_r_t().  You can
  447.          usually double the curlies to get the same effect though, because the
  448.          inner curlies will be considered a block that loops once.  See the
  449.          last entry in the _p_e_r_l_f_u_n_c manpage.
  450.  
  451.      Can't "next" outside a block
  452.          (F) A "next" statement was executed to reiterate the current block,
  453.          but there isn't a current block.  Note that an "if" or "else" block
  454.          doesn't count as a "loopish" block, as doesn't a block given to
  455.          _s_o_r_t().  You can usually double the curlies to get the same effect
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  467.  
  468.  
  469.  
  470.          though, because the inner curlies will be considered a block that
  471.          loops once.  See the next entry in the _p_e_r_l_f_u_n_c manpage.
  472.  
  473.      Can't "redo" outside a block
  474.          (F) A "redo" statement was executed to restart the current block, but
  475.          there isn't a current block.  Note that an "if" or "else" block
  476.          doesn't count as a "loopish" block, as doesn't a block given to
  477.          _s_o_r_t().  You can usually double the curlies to get the same effect
  478.          though, because the inner curlies will be considered a block that
  479.          loops once.  See the redo entry in the _p_e_r_l_f_u_n_c manpage.
  480.  
  481.      Can't bless non-reference value
  482.          (F) Only hard references may be blessed.  This is how Perl "enforces"
  483.          encapsulation of objects.  See the _p_e_r_l_o_b_j manpage.
  484.  
  485.      Can't break at that line
  486.          (S) A warning intended to only be printed while running within the
  487.          debugger, indicating the line number specified wasn't the location of
  488.          a statement that could be stopped at.
  489.  
  490.      Can't call method "%s" in empty package "%s"
  491.          (F) You called a method correctly, and it correctly indicated a
  492.          package functioning as a class, but that package doesn't have
  493.          ANYTHING defined in it, let alone methods.  See the _p_e_r_l_o_b_j manpage.
  494.  
  495.      Can't call method "%s" on unblessed reference
  496.          (F) A method call must know in what package it's supposed to run.  It
  497.          ordinarily finds this out from the object reference you supply, but
  498.          you didn't supply an object reference in this case.  A reference
  499.          isn't an object reference until it has been blessed.  See the _p_e_r_l_o_b_j
  500.          manpage.
  501.  
  502.      Can't call method "%s" without a package or object reference
  503.          (F) You used the syntax of a method call, but the slot filled by the
  504.          object reference or package name contains an expression that returns
  505.          neither an object reference nor a package name.  (Perhaps it's null?)
  506.          Something like this will reproduce the error:
  507.  
  508.              $BADREF = undef;
  509.              process $BADREF 1,2,3;
  510.              $BADREF->process(1,2,3);
  511.  
  512.  
  513.      Can't chdir to %s
  514.          (F) You called perl -x/foo/bar, but /foo/bar is not a directory that
  515.          you can chdir to, possibly because it doesn't exist.
  516.  
  517.      Can't coerce %s to integer in %s
  518.          (F) Certain types of SVs, in particular real symbol table entries
  519.          (typeglobs), can't be forced to stop being what they are.  So you
  520.          can't say things like:
  521.  
  522.  
  523.  
  524.  
  525.                                                                         PPPPaaaaggggeeee 8888
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  533.  
  534.  
  535.  
  536.              *foo += 1;
  537.  
  538.          You CAN say
  539.  
  540.              $foo = *foo;
  541.              $foo += 1;
  542.  
  543.          but then $foo no longer contains a glob.
  544.  
  545.      Can't coerce %s to number in %s
  546.          (F) Certain types of SVs, in particular real symbol table entries
  547.          (typeglobs), can't be forced to stop being what they are.
  548.  
  549.      Can't coerce %s to string in %s
  550.          (F) Certain types of SVs, in particular real symbol table entries
  551.          (typeglobs), can't be forced to stop being what they are.
  552.  
  553.      Can't create pipe mailbox
  554.          (P) An error peculiar to VMS.  The process is suffering from
  555.          exhausted quotas or other plumbing problems.
  556.  
  557.      Can't declare %s in my
  558.          (F) Only scalar, array, and hash variables may be declared as lexical
  559.          variables.  They must have ordinary identifiers as names.
  560.  
  561.      Can't do inplace edit on %s: %s
  562.          (S) The creation of the new file failed for the indicated reason.
  563.  
  564.      Can't do inplace edit without backup
  565.          (F) You're on a system such as MS-DOS that gets confused if you try
  566.          reading from a deleted (but still opened) file.  You have to say
  567.          -i.bak, or some such.
  568.  
  569.      Can't do inplace edit: %s > 14 characters
  570.          (S) There isn't enough room in the filename to make a backup name for
  571.          the file.
  572.  
  573.      Can't do inplace edit: %s is not a regular file
  574.          (S) You tried to use the ----iiii switch on a special file, such as a file
  575.          in /dev, or a FIFO.  The file was ignored.
  576.  
  577.      Can't do setegid!
  578.          (P) The _s_e_t_e_g_i_d() call failed for some reason in the setuid emulator
  579.          of suidperl.
  580.  
  581.      Can't do seteuid!
  582.          (P) The setuid emulator of suidperl failed for some reason.
  583.  
  584.      Can't do setuid
  585.          (F) This typically means that ordinary perl tried to exec suidperl to
  586.          do setuid emulation, but couldn't exec it.  It looks for a name of
  587.          the form sperl5.000 in the same directory that the perl executable
  588.  
  589.  
  590.  
  591.                                                                         PPPPaaaaggggeeee 9999
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  599.  
  600.  
  601.  
  602.          resides under the name perl5.000, typically /usr/local/bin on Unix
  603.          machines.  If the file is there, check the execute permissions.  If
  604.          it isn't, ask your sysadmin why he and/or she removed it.
  605.  
  606.      Can't do waitpid with flags
  607.          (F) This machine doesn't have either _w_a_i_t_p_i_d() or _w_a_i_t_4(), so only
  608.          _w_a_i_t_p_i_d() without flags is emulated.
  609.  
  610.      Can't do {n,m} with n > m
  611.          (F) Minima must be less than or equal to maxima.  If you really want
  612.          your regexp to match something 0 times, just put {0}.  See the _p_e_r_l_r_e
  613.          manpage.
  614.  
  615.      Can't emulate -%s on #! line
  616.          (F) The #! line specifies a switch that doesn't make sense at this
  617.          point.  For example, it'd be kind of silly to put a ----xxxx on the #!
  618.          line.
  619.  
  620.      Can't exec "%s
  621.          (W) An _s_y_s_t_e_m(), _e_x_e_c(), or piped open call could not execute the
  622.          named program for the indicated reason.  Typical reasons include: the
  623.          permissions were wrong on the file, the file wasn't found in
  624.          $ENV{PATH}, the executable in question was compiled for another
  625.          architecture, or the #! line in a script points to an interpreter
  626.          that can't be run for similar reasons.  (Or maybe your system doesn't
  627.          support #! at all.)
  628.  
  629.      Can't exec %s
  630.          (F) Perl was trying to execute the indicated program for you because
  631.          that's what the #! line said.  If that's not what you wanted, you may
  632.          need to mention "perl" on the #! line somewhere.
  633.  
  634.      Can't execute %s
  635.          (F) You used the ----SSSS switch, but the copies of the script to execute
  636.          found in the PATH did not have correct permissions.
  637.  
  638.      Can't find %s on PATH, '.' not in PATH
  639.          (F) You used the ----SSSS switch, but the script to execute could not be
  640.          found in the PATH, or at least not with the correct permissions.  The
  641.          script exists in the current directory, but PATH prohibits running
  642.          it.
  643.  
  644.      Can't find %s on PATH
  645.          (F) You used the ----SSSS switch, but the script to execute could not be
  646.          found in the PATH.
  647.  
  648.      Can't find label %s
  649.          (F) You said to goto a label that isn't mentioned anywhere that it's
  650.          possible for us to go to.  See the goto entry in the _p_e_r_l_f_u_n_c
  651.          manpage.
  652.  
  653.  
  654.  
  655.  
  656.  
  657.                                                                        PPPPaaaaggggeeee 11110000
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  665.  
  666.  
  667.  
  668.      Can't find string terminator %s anywhere before EOF
  669.          (F) Perl strings can stretch over multiple lines.  This message means
  670.          that the closing delimiter was omitted.  Because bracketed quotes
  671.          count nesting levels, the following is missing its final parenthesis:
  672.  
  673.              print q(The character '(' starts a side comment.);
  674.  
  675.          If you're getting this error from a here-document, you may have
  676.          included unseen whitespace before or after your closing tag. A good
  677.          programmer's editor will have a way to help you find these
  678.          characters.
  679.  
  680.      Can't fork
  681.          (F) A fatal error occurred while trying to fork while opening a
  682.          pipeline.
  683.  
  684.      Can't get filespec - stale stat buffer?
  685.          (S) A warning peculiar to VMS.  This arises because of the difference
  686.          between access checks under VMS and under the Unix model Perl
  687.          assumes.  Under VMS, access checks are done by filename, rather than
  688.          by bits in the stat buffer, so that ACLs and other protections can be
  689.          taken into account.  Unfortunately, Perl assumes that the stat buffer
  690.          contains all the necessary information, and passes it, instead of the
  691.          filespec, to the access checking routine.  It will try to retrieve
  692.          the filespec using the device name and FID present in the stat
  693.          buffer, but this works only if you haven't made a subsequent call to
  694.          the CRTL _s_t_a_t() routine, because the device name is overwritten with
  695.          each call.  If this warning appears, the name lookup failed, and the
  696.          access checking routine gave up and returned FALSE, just to be
  697.          conservative.  (Note: The access checking routine knows about the
  698.          Perl stat operator and file tests, so you shouldn't ever see this
  699.          warning in response to a Perl command; it arises only if some
  700.          internal code takes stat buffers lightly.)
  701.  
  702.      Can't get pipe mailbox device name
  703.          (P) An error peculiar to VMS.  After creating a mailbox to act as a
  704.          pipe, Perl can't retrieve its name for later use.
  705.  
  706.      Can't get SYSGEN parameter value for MAXBUF
  707.          (P) An error peculiar to VMS.  Perl asked $GETSYI how big you want
  708.          your mailbox buffers to be, and didn't get an answer.
  709.  
  710.      Can't goto subroutine outside a subroutine
  711.          (F) The deeply magical "goto subroutine" call can only replace one
  712.          subroutine call for another.  It can't manufacture one out of whole
  713.          cloth.  In general you should be calling it out of only an AUTOLOAD
  714.          routine anyway.  See the goto entry in the _p_e_r_l_f_u_n_c manpage.
  715.  
  716.      Can't localize through a reference
  717.          (F) You said something like local $$ref, which Perl can't currently
  718.          handle, because when it goes to restore the old value of whatever
  719.          $ref pointed to after the scope of the _l_o_c_a_l() is finished, it can't
  720.  
  721.  
  722.  
  723.                                                                        PPPPaaaaggggeeee 11111111
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  731.  
  732.  
  733.  
  734.          be sure that $ref will still be a reference.
  735.  
  736.      Can't localize lexical variable %s
  737.          (F) You used local on a variable name that was previously declared as
  738.          a lexical variable using "my".  This is not allowed.  If you want to
  739.          localize a package variable of the same name, qualify it with the
  740.          package name.
  741.  
  742.      Can't locate auto/%s.al in @INC
  743.          (F) A function (or method) was called in a package which allows
  744.          autoload, but there is no function to autoload.  Most probable causes
  745.          are a misprint in a function/method name or a failure to AutoSplit
  746.          the file, say, by doing make install.
  747.  
  748.      Can't locate %s in @INC
  749.          (F) You said to do (or require, or use) a file that couldn't be found
  750.          in any of the libraries mentioned in @INC.  Perhaps you need to set
  751.          the PERL5LIB or PERL5OPT environment variable to say where the extra
  752.          library is, or maybe the script needs to add the library name to
  753.          @INC.  Or maybe you just misspelled the name of the file.  See the
  754.          require entry in the _p_e_r_l_f_u_n_c manpage.
  755.  
  756.      Can't locate object method "%s" via package "%s"
  757.          (F) You called a method correctly, and it correctly indicated a
  758.          package functioning as a class, but that package doesn't define that
  759.          particular method, nor does any of its base classes.  See the _p_e_r_l_o_b_j
  760.          manpage.
  761.  
  762.      Can't locate package %s for @%s::ISA
  763.          (W) The @ISA array contained the name of another package that doesn't
  764.          seem to exist.
  765.  
  766.      Can't make list assignment to \%ENV on this system
  767.          (F) List assignment to %ENV is not supported on some systems, notably
  768.          VMS.
  769.  
  770.      Can't mktemp()
  771.          (F) The _m_k_t_e_m_p() routine failed for some reason while trying to
  772.          process a ----eeee switch.  Maybe your /tmp partition is full, or
  773.          clobbered.
  774.  
  775.      Can't modify %s in %s
  776.          (F) You aren't allowed to assign to the item indicated, or otherwise
  777.          try to change it, such as with an auto-increment.
  778.  
  779.      Can't modify nonexistent substring
  780.          (P) The internal routine that does assignment to a _s_u_b_s_t_r() was
  781.          handed a NULL.
  782.  
  783.      Can't msgrcv to read-only var
  784.          (F) The target of a msgrcv must be modifiable to be used as a receive
  785.          buffer.
  786.  
  787.  
  788.  
  789.                                                                        PPPPaaaaggggeeee 11112222
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  797.  
  798.  
  799.  
  800.      Can't open %s: %s
  801.          (S) The implicit opening of a file through use of the <> filehandle,
  802.          either implicitly under the -n or -p command-line switches, or
  803.          explicitly, failed for the indicated reason.  Usually this is because
  804.          you don't have read permission for a file which you named on the
  805.          command line.
  806.  
  807.      Can't open bidirectional pipe
  808.          (W) You tried to say open(CMD, "|cmd|"), which is not supported.  You
  809.          can try any of several modules in the Perl library to do this, such
  810.          as IPC::Open2.  Alternately, direct the pipe's output to a file using
  811.          ">", and then read it in under a different file handle.
  812.  
  813.      Can't open error file %s as stderr
  814.          (F) An error peculiar to VMS.  Perl does its own command line
  815.          redirection, and couldn't open the file specified after '2>' or '2>>'
  816.          on the command line for writing.
  817.  
  818.      Can't open input file %s as stdin
  819.          (F) An error peculiar to VMS.  Perl does its own command line
  820.          redirection, and couldn't open the file specified after '<' on the
  821.          command line for reading.
  822.  
  823.      Can't open output file %s as stdout
  824.          (F) An error peculiar to VMS.  Perl does its own command line
  825.          redirection, and couldn't open the file specified after '>' or '>>'
  826.          on the command line for writing.
  827.  
  828.      Can't open output pipe (name: %s)
  829.          (P) An error peculiar to VMS.  Perl does its own command line
  830.          redirection, and couldn't open the pipe into which to send data
  831.          destined for stdout.
  832.  
  833.      Can't open perl script "%s
  834.          (F) The script you specified can't be opened for the indicated
  835.          reason.
  836.  
  837.      Can't redefine active sort subroutine %s
  838.          (F) Perl optimizes the internal handling of sort subroutines and
  839.          keeps pointers into them.  You tried to redefine one such sort
  840.          subroutine when it was currently active, which is not allowed.  If
  841.          you really want to do this, you should write sort { &func } @x
  842.          instead of sort func @x.
  843.  
  844.      Can't rename %s to %s: %s, skipping file
  845.          (S) The rename done by the ----iiii switch failed for some reason, probably
  846.          because you don't have write permission to the directory.
  847.  
  848.      Can't reopen input pipe (name: %s) in binary mode
  849.          (P) An error peculiar to VMS.  Perl thought stdin was a pipe, and
  850.          tried to reopen it to accept binary data.  Alas, it failed.
  851.  
  852.  
  853.  
  854.  
  855.                                                                        PPPPaaaaggggeeee 11113333
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  863.  
  864.  
  865.  
  866.      Can't reswap uid and euid
  867.          (P) The _s_e_t_r_e_u_i_d() call failed for some reason in the setuid emulator
  868.          of suidperl.
  869.  
  870.      Can't return outside a subroutine
  871.          (F) The return statement was executed in mainline code, that is,
  872.          where there was no subroutine call to return out of.  See the _p_e_r_l_s_u_b
  873.          manpage.
  874.  
  875.      Can't stat script "%s"
  876.          (P) For some reason you can't _f_s_t_a_t() the script even though you have
  877.          it open already.  Bizarre.
  878.  
  879.      Can't swap uid and euid
  880.          (P) The _s_e_t_r_e_u_i_d() call failed for some reason in the setuid emulator
  881.          of suidperl.
  882.  
  883.      Can't take log of %g
  884.          (F) For ordinary real numbers, you can't take the logarithm of a
  885.          negative number or zero. There's a Math::Complex package that comes
  886.          standard with Perl, though, if you really want to do that for the
  887.          negative numbers.
  888.  
  889.      Can't take sqrt of %g
  890.          (F) For ordinary real numbers, you can't take the square root of a
  891.          negative number.  There's a Math::Complex package that comes standard
  892.          with Perl, though, if you really want to do that.
  893.  
  894.      Can't undef active subroutine
  895.          (F) You can't undefine a routine that's currently running.  You can,
  896.          however, redefine it while it's running, and you can even undef the
  897.          redefined subroutine while the old routine is running.  Go figure.
  898.  
  899.      Can't unshift
  900.          (F) You tried to unshift an "unreal" array that can't be unshifted,
  901.          such as the main Perl stack.
  902.  
  903.      Can't upgrade that kind of scalar
  904.          (P) The internal sv_upgrade routine adds "members" to an SV, making
  905.          it into a more specialized kind of SV.  The top several SV types are
  906.          so specialized, however, that they cannot be interconverted.  This
  907.          message indicates that such a conversion was attempted.
  908.  
  909.      Can't upgrade to undef
  910.          (P) The undefined SV is the bottom of the totem pole, in the scheme
  911.          of upgradability.  Upgrading to undef indicates an error in the code
  912.          calling sv_upgrade.
  913.  
  914.      Can't use "my %s" in sort comparison
  915.          (F) The global variables $a and $b are reserved for sort comparisons.
  916.          You mentioned $a or $b in the same line as the <=> or cmp operator,
  917.          and the variable had earlier been declared as a lexical variable.
  918.  
  919.  
  920.  
  921.                                                                        PPPPaaaaggggeeee 11114444
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  929.  
  930.  
  931.  
  932.          Either qualify the sort variable with the package name, or rename the
  933.          lexical variable.
  934.  
  935.      Can't use %s for loop variable
  936.          (F) Only a simple scalar variable may be used as a loop variable on a
  937.          foreach.
  938.  
  939.      Can't use %s ref as %s ref
  940.          (F) You've mixed up your reference types.  You have to dereference a
  941.          reference of the type needed.  You can use the _r_e_f() function to test
  942.          the type of the reference, if need be.
  943.  
  944.      Can't use \1 to mean $1 in expression
  945.          (W) In an ordinary expression, backslash is a unary operator that
  946.          creates a reference to its argument.  The use of backslash to
  947.          indicate a backreference to a matched substring is valid only as part
  948.          of a regular expression pattern.  Trying to do this in ordinary Perl
  949.          code produces a value that prints out looking like _S_C_A_L_A_R(0xdecaf).
  950.          Use the $1 form instead.
  951.  
  952.      Can't use bareword '%s' as %s ref while \
  953.          (F) Only hard references are allowed by "strict refs".  Symbolic
  954.          references are disallowed.  See the _p_e_r_l_r_e_f manpage.
  955.  
  956.      Can't use string '%s' as %s ref while "strict refs" in use
  957.          (F) Only hard references are allowed by "strict refs".  Symbolic
  958.          references are disallowed.  See the _p_e_r_l_r_e_f manpage.
  959.  
  960.      Can't use an undefined value as %s reference
  961.          (F) A value used as either a hard reference or a symbolic reference
  962.          must be a defined value.  This helps to delurk some insidious errors.
  963.  
  964.      Can't use global %s in "my"
  965.          (F) You tried to declare a magical variable as a lexical variable.
  966.          This is not allowed, because the magic can be tied to only one
  967.          location (namely the global variable) and it would be incredibly
  968.          confusing to have variables in your program that looked like magical
  969.          variables but weren't.
  970.  
  971.      Can't use subscript on %s
  972.          (F) The compiler tried to interpret a bracketed expression as a
  973.          subscript.  But to the left of the brackets was an expression that
  974.          didn't look like an array reference, or anything else subscriptable.
  975.  
  976.      Can't write to temp file for ----eeee: %s
  977.          (F) The write routine failed for some reason while trying to process
  978.          a ----eeee switch.  Maybe your /tmp partition is full, or clobbered.
  979.  
  980.      Can't x= to read-only value
  981.          (F) You tried to repeat a constant value (often the undefined value)
  982.          with an assignment operator, which implies modifying the value
  983.          itself.  Perhaps you need to copy the value to a temporary, and
  984.  
  985.  
  986.  
  987.                                                                        PPPPaaaaggggeeee 11115555
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  995.  
  996.  
  997.  
  998.          repeat that.
  999.  
  1000.      Cannot open temporary file
  1001.          (F) The create routine failed for some reason while trying to process
  1002.          a ----eeee switch.  Maybe your /tmp partition is full, or clobbered.
  1003.  
  1004.      Cannot resolve method `%s' overloading `%s' in package `%s'
  1005.          (F|P) Error resolving overloading specified by a method name (as
  1006.          opposed to a subroutine reference): no such method callable via the
  1007.          package. If method name is ???, this is an internal error.
  1008.  
  1009.      chmod: mode argument is missing initial 0
  1010.          (W) A novice will sometimes say
  1011.  
  1012.              chmod 777, $filename
  1013.  
  1014.          not realizing that 777 will be interpreted as a decimal number,
  1015.          equivalent to 01411.  Octal constants are introduced with a leading 0
  1016.          in Perl, as in C.
  1017.  
  1018.      Close on unopened file <%s>
  1019.          (W) You tried to close a filehandle that was never opened.
  1020.  
  1021.      Compilation failed in require
  1022.          (F) Perl could not compile a file specified in a require statement.
  1023.          Perl uses this generic message when none of the errors that it
  1024.          encountered were severe enough to halt compilation immediately.
  1025.  
  1026.      connect() on closed fd
  1027.          (W) You tried to do a connect on a closed socket.  Did you forget to
  1028.          check the return value of your _s_o_c_k_e_t() call?  See the connect entry
  1029.          in the _p_e_r_l_f_u_n_c manpage.
  1030.  
  1031.      Constant subroutine %s redefined
  1032.          (S) You redefined a subroutine which had previously been eligible for
  1033.          inlining.  See the section on _C_o_n_s_t_a_n_t _F_u_n_c_t_i_o_n_s in the _p_e_r_l_s_u_b
  1034.          manpage for commentary and workarounds.
  1035.  
  1036.      Constant subroutine %s undefined
  1037.          (S) You undefined a subroutine which had previously been eligible for
  1038.          inlining.  See the section on _C_o_n_s_t_a_n_t _F_u_n_c_t_i_o_n_s in the _p_e_r_l_s_u_b
  1039.          manpage for commentary and workarounds.
  1040.  
  1041.      Copy method did not return a reference
  1042.          (F) The method which overloads "=" is buggy. See the section on _C_o_p_y
  1043.          _C_o_n_s_t_r_u_c_t_o_r in the _o_v_e_r_l_o_a_d manpage.
  1044.  
  1045.      Corrupt malloc ptr 0x%lx at 0x%lx
  1046.          (P) The malloc package that comes with Perl had an internal failure.
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.                                                                        PPPPaaaaggggeeee 11116666
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1061.  
  1062.  
  1063.  
  1064.      corrupted regexp pointers
  1065.          (P) The regular expression engine got confused by what the regular
  1066.          expression compiler gave it.
  1067.  
  1068.      corrupted regexp program
  1069.          (P) The regular expression engine got passed a regexp program without
  1070.          a valid magic number.
  1071.  
  1072.      Deep recursion on subroutine "%s"
  1073.          (W) This subroutine has called itself (directly or indirectly) 100
  1074.          times more than it has returned.  This probably indicates an infinite
  1075.          recursion, unless you're writing strange benchmark programs, in which
  1076.          case it indicates something else.
  1077.  
  1078.      Delimiter for here document is too long
  1079.          (F) In a here document construct like <<FOO, the label FOO is too
  1080.          long for Perl to handle.  You have to be seriously twisted to write
  1081.          code that triggers this error.
  1082.  
  1083.      Did you mean &%s instead?
  1084.          (W) You probably referred to an imported subroutine &FOO as $FOO or
  1085.          some such.
  1086.  
  1087.      Did you mean $ or @ instead of %?
  1088.          (W) You probably said %hash{$key} when you meant $hash{$key} or
  1089.          @hash{@keys}.  On the other hand, maybe you just meant %hash and got
  1090.          carried away.
  1091.  
  1092.      Died
  1093.          (F) You passed _d_i_e() an empty string (the equivalent of die "") or
  1094.          you called it with no args and both $@ and $_ were empty.
  1095.  
  1096.      Do you need to predeclare %s?
  1097.          (S) This is an educated guess made in conjunction with the message
  1098.          "%s found where operator expected".  It often means a subroutine or
  1099.          module name is being referenced that hasn't been declared yet.  This
  1100.          may be because of ordering problems in your file, or because of a
  1101.          missing "sub", "package", "require", or "use" statement.  If you're
  1102.          referencing something that isn't defined yet, you don't actually have
  1103.          to define the subroutine or package before the current location.  You
  1104.          can use an empty "sub foo;" or "package FOO;" to enter a "forward"
  1105.          declaration.
  1106.  
  1107.      Don't know how to handle magic of type '%s'
  1108.          (P) The internal handling of magical variables has been cursed.
  1109.  
  1110.      do_study: out of memory
  1111.          (P) This should have been caught by _s_a_f_e_m_a_l_l_o_c() instead.
  1112.  
  1113.      Duplicate free() ignored
  1114.          (S) An internal routine called _f_r_e_e() on something that had already
  1115.          been freed.
  1116.  
  1117.  
  1118.  
  1119.                                                                        PPPPaaaaggggeeee 11117777
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1127.  
  1128.  
  1129.  
  1130.      elseif should be elsif
  1131.          (S) There is no keyword "elseif" in Perl because Larry thinks it's
  1132.          ugly.  Your code will be interpreted as an attempt to call a method
  1133.          named "elseif" for the class returned by the following block.  This
  1134.          is unlikely to be what you want.
  1135.  
  1136.      END failed--cleanup aborted
  1137.          (F) An untrapped exception was raised while executing an END
  1138.          subroutine.  The interpreter is immediately exited.
  1139.  
  1140.      Error converting file specification %s
  1141.          (F) An error peculiar to VMS.  Because Perl may have to deal with
  1142.          file specifications in either VMS or Unix syntax, it converts them to
  1143.          a single form when it must operate on them directly.  Either you've
  1144.          passed an invalid file specification to Perl, or you've found a case
  1145.          the conversion routines don't handle.  Drat.
  1146.  
  1147.      Excessively long <> operator
  1148.          (F) The contents of a <> operator may not exceed the maximum size of
  1149.          a Perl identifier.  If you're just trying to glob a long list of
  1150.          filenames, try using the _g_l_o_b() operator, or put the filenames into a
  1151.          variable and glob that.
  1152.  
  1153.      Execution of %s aborted due to compilation errors
  1154.          (F) The final summary message when a Perl compilation fails.
  1155.  
  1156.      Exiting eval via %s
  1157.          (W) You are exiting an eval by unconventional means, such as a goto,
  1158.          or a loop control statement.
  1159.  
  1160.      Exiting pseudo-block via %s
  1161.          (W) You are exiting a rather special block construct (like a sort
  1162.          block or subroutine) by unconventional means, such as a goto, or a
  1163.          loop control statement.  See the sort entry in the _p_e_r_l_f_u_n_c manpage.
  1164.  
  1165.      Exiting subroutine via %s
  1166.          (W) You are exiting a subroutine by unconventional means, such as a
  1167.          goto, or a loop control statement.
  1168.  
  1169.      Exiting substitution via %s
  1170.          (W) You are exiting a substitution by unconventional means, such as a
  1171.          return, a goto, or a loop control statement.
  1172.  
  1173.      Fatal VMS error at %s, line %d
  1174.          (P) An error peculiar to VMS.  Something untoward happened in a VMS
  1175.          system service or RTL routine; Perl's exit status should provide more
  1176.          details.  The filename in "at %s" and the line number in "line %d"
  1177.          tell you which section of the Perl source code is distressed.
  1178.  
  1179.      fcntl is not implemented
  1180.          (F) Your machine apparently doesn't implement _f_c_n_t_l().  What is this,
  1181.          a PDP-11 or something?
  1182.  
  1183.  
  1184.  
  1185.                                                                        PPPPaaaaggggeeee 11118888
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1193.  
  1194.  
  1195.  
  1196.      Filehandle %s never opened
  1197.          (W) An I/O operation was attempted on a filehandle that was never
  1198.          initialized.  You need to do an _o_p_e_n() or a _s_o_c_k_e_t() call, or call a
  1199.          constructor from the FileHandle package.
  1200.  
  1201.      Filehandle %s opened for only input
  1202.          (W) You tried to write on a read-only filehandle.  If you intended it
  1203.          to be a read-write filehandle, you needed to open it with "+<" or
  1204.          "+>" or "+>>" instead of with "<" or nothing.  If you intended only
  1205.          to write the file, use ">" or ">>".  See the open entry in the
  1206.          _p_e_r_l_f_u_n_c manpage.
  1207.  
  1208.      Filehandle opened for only input
  1209.          (W) You tried to write on a read-only filehandle.  If you intended it
  1210.          to be a read-write filehandle, you needed to open it with "+<" or
  1211.          "+>" or "+>>" instead of with "<" or nothing.  If you intended only
  1212.          to write the file, use ">" or ">>".  See the open entry in the
  1213.          _p_e_r_l_f_u_n_c manpage.
  1214.  
  1215.      Final $ should be \$ or $name
  1216.          (F) You must now decide whether the final $ in a string was meant to
  1217.          be a literal dollar sign, or was meant to introduce a variable name
  1218.          that happens to be missing.  So you have to put either the backslash
  1219.          or the name.
  1220.  
  1221.      Final @ should be \@ or @name
  1222.          (F) You must now decide whether the final @ in a string was meant to
  1223.          be a literal "at" sign, or was meant to introduce a variable name
  1224.          that happens to be missing.  So you have to put either the backslash
  1225.          or the name.
  1226.  
  1227.      Format %s redefined
  1228.          (W) You redefined a format.  To suppress this warning, say
  1229.  
  1230.              {
  1231.                  local $^W = 0;
  1232.                  eval "format NAME =...";
  1233.              }
  1234.  
  1235.  
  1236.      Format not terminated
  1237.          (F) A format must be terminated by a line with a solitary dot.  Perl
  1238.          got to the end of your file without finding such a line.
  1239.  
  1240.      Found = in conditional, should be ==
  1241.          (W) You said
  1242.  
  1243.              if ($foo = 123)
  1244.  
  1245.          when you meant
  1246.  
  1247.              if ($foo == 123)
  1248.  
  1249.  
  1250.  
  1251.                                                                        PPPPaaaaggggeeee 11119999
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1259.  
  1260.  
  1261.  
  1262.          (or something like that).
  1263.  
  1264.      gdbm store returned %d, errno %d, key "%s"
  1265.          (S) A warning from the GDBM_File extension that a store failed.
  1266.  
  1267.      gethostent not implemented
  1268.          (F) Your C library apparently doesn't implement _g_e_t_h_o_s_t_e_n_t(),
  1269.          probably because if it did, it'd feel morally obligated to return
  1270.          every hostname on the Internet.
  1271.  
  1272.      get{sock,peer}name() on closed fd
  1273.          (W) You tried to get a socket or peer socket name on a closed socket.
  1274.          Did you forget to check the return value of your _s_o_c_k_e_t() call?
  1275.  
  1276.      getpwnam returned invalid UIC %#o for user "%s"
  1277.          (S) A warning peculiar to VMS.  The call to sys$getuai underlying the
  1278.          getpwnam operator returned an invalid UIC.
  1279.  
  1280.      Glob not terminated
  1281.          (F) The lexer saw a left angle bracket in a place where it was
  1282.          expecting a term, so it's looking for the corresponding right angle
  1283.          bracket, and not finding it.  Chances are you left some needed
  1284.          parentheses out earlier in the line, and you really meant a "less
  1285.          than".
  1286.  
  1287.      Global symbol "%s" requires explicit package name
  1288.          (F) You've said "use strict vars", which indicates that all variables
  1289.          must either be lexically scoped (using "my"), or explicitly qualified
  1290.          to say which package the global variable is in (using "::").
  1291.  
  1292.      goto must have label
  1293.          (F) Unlike with "next" or "last", you're not allowed to goto an
  1294.          unspecified destination.  See the goto entry in the _p_e_r_l_f_u_n_c manpage.
  1295.  
  1296.      Had to create %s unexpectedly
  1297.          (S) A routine asked for a symbol from a symbol table that ought to
  1298.          have existed already, but for some reason it didn't, and had to be
  1299.          created on an emergency basis to prevent a core dump.
  1300.  
  1301.      Hash %%s missing the % in argument %d of %s()
  1302.          (D) Really old Perl let you omit the % on hash names in some spots.
  1303.          This is now heavily deprecated.
  1304.  
  1305.      Identifier too long
  1306.          (F) Perl limits identifiers (names for variables, functions, etc.) to
  1307.          about 250 characters for simple names, and somewhat more for compound
  1308.          names (like $A::B).  You've exceeded Perl's limits.  Future versions
  1309.          of Perl are likely to eliminate these arbitrary limitations.
  1310.  
  1311.      Ill-formed logical name |%s| in prime_env_iter
  1312.          (W) A warning peculiar to VMS.  A logical name was encountered when
  1313.          preparing to iterate over %ENV which violates the syntactic rules
  1314.  
  1315.  
  1316.  
  1317.                                                                        PPPPaaaaggggeeee 22220000
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1325.  
  1326.  
  1327.  
  1328.          governing logical names.  Because it cannot be translated normally,
  1329.          it is skipped, and will not appear in %ENV.  This may be a benign
  1330.          occurrence, as some software packages might directly modify logical
  1331.          name tables and introduce nonstandard names, or it may indicate that
  1332.          a logical name table has been corrupted.
  1333.  
  1334.      Illegal character %s (carriage return)
  1335.          (F) A carriage return character was found in the input.  This is an
  1336.          error, and not a warning, because carriage return characters can
  1337.          break multi-line strings, including here documents (e.g., print
  1338.          <<EOF;).
  1339.  
  1340.          Under Unix, this error is usually caused by executing Perl code --
  1341.          either the main program, a module, or an eval'd string -- that was
  1342.          transferred over a network connection from a non-Unix system without
  1343.          properly converting the text file format.
  1344.  
  1345.          Under systems that use something other than '\n' to delimit lines of
  1346.          text, this error can also be caused by reading Perl code from a file
  1347.          handle that is in binary mode (as set by the binmode operator).
  1348.  
  1349.          In either case, the Perl code in question will probably need to be
  1350.          converted with something like s/\x0D\x0A?/\n/g before it can be
  1351.          executed.
  1352.  
  1353.      Illegal division by zero
  1354.          (F) You tried to divide a number by 0.  Either something was wrong in
  1355.          your logic, or you need to put a conditional in to guard against
  1356.          meaningless input.
  1357.  
  1358.      Illegal modulus zero
  1359.          (F) You tried to divide a number by 0 to get the remainder.  Most
  1360.          numbers don't take to this kindly.
  1361.  
  1362.      Illegal octal digit
  1363.          (F) You used an 8 or 9 in a octal number.
  1364.  
  1365.      Illegal octal digit ignored
  1366.          (W) You may have tried to use an 8 or 9 in a octal number.
  1367.          Interpretation of the octal number stopped before the 8 or 9.
  1368.  
  1369.      Illegal switch in PERL5OPT: %s
  1370.          (X) The PERL5OPT environment variable may only be used to set the
  1371.          following switches: ----[[[[DDDDIIIIMMMMUUUUddddmmmmwwww]]]].
  1372.  
  1373.      In string, @%s now must be written as \@%s
  1374.          (F) It used to be that Perl would try to guess whether you wanted an
  1375.          array interpolated or a literal @.  It did this when the string was
  1376.          first used at runtime.  Now strings are parsed at compile time, and
  1377.          ambiguous instances of @ must be disambiguated, either by prepending
  1378.          a backslash to indicate a literal, or by declaring (or using) the
  1379.          array within the program before the string (lexically).  (Someday it
  1380.  
  1381.  
  1382.  
  1383.                                                                        PPPPaaaaggggeeee 22221111
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1391.  
  1392.  
  1393.  
  1394.          will simply assume that an unbackslashed @ interpolates an array.)
  1395.  
  1396.      Insecure dependency in %s
  1397.          (F) You tried to do something that the tainting mechanism didn't
  1398.          like.  The tainting mechanism is turned on when you're running setuid
  1399.          or setgid, or when you specify ----TTTT to turn it on explicitly.  The
  1400.          tainting mechanism labels all data that's derived directly or
  1401.          indirectly from the user, who is considered to be unworthy of your
  1402.          trust.  If any such data is used in a "dangerous" operation, you get
  1403.          this error.  See the _p_e_r_l_s_e_c manpage for more information.
  1404.  
  1405.      Insecure directory in %s
  1406.          (F) You can't use _s_y_s_t_e_m(), _e_x_e_c(), or a piped open in a setuid or
  1407.          setgid script if $ENV{PATH} contains a directory that is writable by
  1408.          the world.  See the _p_e_r_l_s_e_c manpage.
  1409.  
  1410.      Insecure PATH
  1411.          (F) You can't use _s_y_s_t_e_m(), _e_x_e_c(), or a piped open in a setuid or
  1412.          setgid script if $ENV{PATH} is derived from data supplied (or
  1413.          potentially supplied) by the user.  The script must set the path to a
  1414.          known value, using trustworthy data.  See the _p_e_r_l_s_e_c manpage.
  1415.  
  1416.      Integer overflow in hex number
  1417.          (S) The literal hex number you have specified is too big for your
  1418.          architecture. On a 32-bit architecture the largest hex literal is
  1419.          0xFFFFFFFF.
  1420.  
  1421.      Integer overflow in octal number
  1422.          (S) The literal octal number you have specified is too big for your
  1423.          architecture. On a 32-bit architecture the largest octal literal is
  1424.          037777777777.
  1425.  
  1426.      Internal inconsistency in tracking vforks
  1427.          (S) A warning peculiar to VMS.  Perl keeps track of the number of
  1428.          times you've called fork and exec, to determine whether the current
  1429.          call to exec should affect the current script or a subprocess (see
  1430.          the exec entry in the _p_e_r_l_v_m_s manpage).  Somehow, this count has
  1431.          become scrambled, so Perl is making a guess and treating this exec as
  1432.          a request to terminate the Perl script and execute the specified
  1433.          command.
  1434.  
  1435.      internal disaster in regexp
  1436.          (P) Something went badly wrong in the regular expression parser.
  1437.  
  1438.      internal error: glob failed
  1439.          (P) Something went wrong with the external _p_r_o_g_r_a_m(s) used for glob
  1440.          and <*.c>.  This may mean that your csh (C shell) is broken.  If so,
  1441.          you should change all of the csh-related variables in config.sh:  If
  1442.          you have tcsh, make the variables refer to it as if it were csh (e.g.
  1443.          full_csh='/usr/bin/tcsh'); otherwise, make them all empty (except
  1444.          that d_csh should be 'undef') so that Perl will think csh is missing.
  1445.          In either case, after editing config.sh, run ./Configure -S and
  1446.  
  1447.  
  1448.  
  1449.                                                                        PPPPaaaaggggeeee 22222222
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1457.  
  1458.  
  1459.  
  1460.          rebuild Perl.
  1461.  
  1462.      internal urp in regexp at /%s/
  1463.          (P) Something went badly awry in the regular expression parser.
  1464.  
  1465.      invalid [] range in regexp
  1466.          (F) The range specified in a character class had a minimum character
  1467.          greater than the maximum character.  See the _p_e_r_l_r_e manpage.
  1468.  
  1469.      Invalid conversion in %s: "%s"
  1470.          (W) Perl does not understand the given format conversion.  See the
  1471.          sprintf entry in the _p_e_r_l_f_u_n_c manpage.
  1472.  
  1473.      Invalid type in pack: '%s'
  1474.          (F) The given character is not a valid pack type.  See the pack entry
  1475.          in the _p_e_r_l_f_u_n_c manpage.  (W) The given character is not a valid pack
  1476.          type but used to be silently ignored.
  1477.  
  1478.      Invalid type in unpack: '%s'
  1479.          (F) The given character is not a valid unpack type.  See the unpack
  1480.          entry in the _p_e_r_l_f_u_n_c manpage.  (W) The given character is not a
  1481.          valid unpack type but used to be silently ignored.
  1482.  
  1483.      ioctl is not implemented
  1484.          (F) Your machine apparently doesn't implement _i_o_c_t_l(), which is
  1485.          pretty strange for a machine that supports C.
  1486.  
  1487.      junk on end of regexp
  1488.          (P) The regular expression parser is confused.
  1489.  
  1490.      Label not found for "last %s"
  1491.          (F) You named a loop to break out of, but you're not currently in a
  1492.          loop of that name, not even if you count where you were called from.
  1493.          See the last entry in the _p_e_r_l_f_u_n_c manpage.
  1494.  
  1495.      Label not found for "next %s"
  1496.          (F) You named a loop to continue, but you're not currently in a loop
  1497.          of that name, not even if you count where you were called from.  See
  1498.          the last entry in the _p_e_r_l_f_u_n_c manpage.
  1499.  
  1500.      Label not found for "redo %s"
  1501.          (F) You named a loop to restart, but you're not currently in a loop
  1502.          of that name, not even if you count where you were called from.  See
  1503.          the last entry in the _p_e_r_l_f_u_n_c manpage.
  1504.  
  1505.      listen() on closed fd
  1506.          (W) You tried to do a listen on a closed socket.  Did you forget to
  1507.          check the return value of your _s_o_c_k_e_t() call?  See the listen entry
  1508.          in the _p_e_r_l_f_u_n_c manpage.
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.                                                                        PPPPaaaaggggeeee 22223333
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1523.  
  1524.  
  1525.  
  1526.      Method for operation %s not found in package %s during blessing
  1527.          (F) An attempt was made to specify an entry in an overloading table
  1528.          that doesn't resolve to a valid subroutine.  See the _o_v_e_r_l_o_a_d
  1529.          manpage.
  1530.  
  1531.      Might be a runaway multi-line %s string starting on line %d
  1532.          (S) An advisory indicating that the previous error may have been
  1533.          caused by a missing delimiter on a string or pattern, because it
  1534.          eventually ended earlier on the current line.
  1535.  
  1536.      Misplaced _ in number
  1537.          (W) An underline in a decimal constant wasn't on a 3-digit boundary.
  1538.  
  1539.      Missing $ on loop variable
  1540.          (F) Apparently you've been programming in ccccsssshhhh too much.  Variables
  1541.          are always mentioned with the $ in Perl, unlike in the shells, where
  1542.          it can vary from one line to the next.
  1543.  
  1544.      Missing comma after first argument to %s function
  1545.          (F) While certain functions allow you to specify a filehandle or an
  1546.          "indirect object" before the argument list, this ain't one of them.
  1547.  
  1548.      Missing operator before %s?
  1549.          (S) This is an educated guess made in conjunction with the message
  1550.          "%s found where operator expected".  Often the missing operator is a
  1551.          comma.
  1552.  
  1553.      Missing right bracket
  1554.          (F) The lexer counted more opening curly brackets (braces) than
  1555.          closing ones.  As a general rule, you'll find it's missing near the
  1556.          place you were last editing.
  1557.  
  1558.      Modification of a read-only value attempted
  1559.          (F) You tried, directly or indirectly, to change the value of a
  1560.          constant.  You didn't, of course, try "2 = 1", because the compiler
  1561.          catches that.  But an easy way to do the same thing is:
  1562.  
  1563.              sub mod { $_[0] = 1 }
  1564.              mod(2);
  1565.  
  1566.          Another way is to assign to a _s_u_b_s_t_r() that's off the end of the
  1567.          string.
  1568.  
  1569.      Modification of noncreatable array value attempted, subscript %d
  1570.          (F) You tried to make an array value spring into existence, and the
  1571.          subscript was probably negative, even counting from end of the array
  1572.          backwards.
  1573.  
  1574.      Modification of noncreatable hash value attempted, subscript "%s"
  1575.          (F) You tried to make a hash value spring into existence, and it
  1576.          couldn't be created for some peculiar reason.
  1577.  
  1578.  
  1579.  
  1580.  
  1581.                                                                        PPPPaaaaggggeeee 22224444
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1589.  
  1590.  
  1591.  
  1592.      Module name must be constant
  1593.          (F) Only a bare module name is allowed as the first argument to a
  1594.          "use".
  1595.  
  1596.      msg%s not implemented
  1597.          (F) You don't have System V message IPC on your system.
  1598.  
  1599.      Multidimensional syntax %s not supported
  1600.          (W) Multidimensional arrays aren't written like $foo[1,2,3].  They're
  1601.          written like $foo[1][2][3], as in C.
  1602.  
  1603.      Name "%s::%s" used only once: possible typo
  1604.          (W) Typographical errors often show up as unique variable names.  If
  1605.          you had a good reason for having a unique name, then just mention it
  1606.          again somehow to suppress the message.  The use vars pragma is
  1607.          provided for just this purpose.
  1608.  
  1609.      Negative length
  1610.          (F) You tried to do a read/write/send/recv operation with a buffer
  1611.          length that is less than 0.  This is difficult to imagine.
  1612.  
  1613.      nested *?+ in regexp
  1614.          (F) You can't quantify a quantifier without intervening parentheses.
  1615.          So things like ** or +* or ?* are illegal.
  1616.  
  1617.          Note, however, that the minimal matching quantifiers, *?, +?, and ??
  1618.          appear to be nested quantifiers, but aren't.  See the _p_e_r_l_r_e manpage.
  1619.  
  1620.      No #! line
  1621.          (F) The setuid emulator requires that scripts have a well-formed #!
  1622.          line even on machines that don't support the #! construct.
  1623.  
  1624.      No %s allowed while running setuid
  1625.          (F) Certain operations are deemed to be too insecure for a setuid or
  1626.          setgid script to even be allowed to attempt.  Generally speaking
  1627.          there will be another way to do what you want that is, if not secure,
  1628.          at least securable.  See the _p_e_r_l_s_e_c manpage.
  1629.  
  1630.      No ----eeee allowed in setuid scripts
  1631.          (F) A setuid script can't be specified by the user.
  1632.  
  1633.      No comma allowed after %s
  1634.          (F) A list operator that has a filehandle or "indirect object" is not
  1635.          allowed to have a comma between that and the following arguments.
  1636.          Otherwise it'd be just another one of the arguments.
  1637.  
  1638.          One possible cause for this is that you expected to have imported a
  1639.          constant to your name space with uuuusssseeee or iiiimmmmppppoooorrrrtttt while no such
  1640.          importing took place, it may for example be that your operating
  1641.          system does not support that particular constant. Hopefully you did
  1642.          use an explicit import list for the constants you expect to see,
  1643.          please see the use entry in the _p_e_r_l_f_u_n_c manpage and the import entry
  1644.  
  1645.  
  1646.  
  1647.                                                                        PPPPaaaaggggeeee 22225555
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1655.  
  1656.  
  1657.  
  1658.          in the _p_e_r_l_f_u_n_c manpage. While an explicit import list would probably
  1659.          have caught this error earlier it naturally does not remedy the fact
  1660.          that your operating system still does not support that constant.
  1661.          Maybe you have a typo in the constants of the symbol import list of
  1662.          uuuusssseeee or iiiimmmmppppoooorrrrtttt or in the constant name at the line where this error
  1663.          was triggered?
  1664.  
  1665.      No command into which to pipe on command line
  1666.          (F) An error peculiar to VMS.  Perl handles its own command line
  1667.          redirection, and found a '|' at the end of the command line, so it
  1668.          doesn't know where you want to pipe the output from this command.
  1669.  
  1670.      No DB::DB routine defined
  1671.          (F) The currently executing code was compiled with the ----dddd switch, but
  1672.          for some reason the perl5db.pl file (or some facsimile thereof)
  1673.          didn't define a routine to be called at the beginning of each
  1674.          statement.  Which is odd, because the file should have been required
  1675.          automatically, and should have blown up the require if it didn't
  1676.          parse right.
  1677.  
  1678.      No dbm on this machine
  1679.          (P) This is counted as an internal error, because every machine
  1680.          should supply dbm nowadays, because Perl comes with SDBM.  See the
  1681.          _S_D_B_M__F_i_l_e manpage.
  1682.  
  1683.      No DBsub routine
  1684.          (F) The currently executing code was compiled with the ----dddd switch, but
  1685.          for some reason the perl5db.pl file (or some facsimile thereof)
  1686.          didn't define a DB::sub routine to be called at the beginning of each
  1687.          ordinary subroutine call.
  1688.  
  1689.      No error file after 2> or 2>> on command line
  1690.          (F) An error peculiar to VMS.  Perl handles its own command line
  1691.          redirection, and found a '2>' or a '2>>' on the command line, but
  1692.          can't find the name of the file to which to write data destined for
  1693.          stderr.
  1694.  
  1695.      No input file after < on command line
  1696.          (F) An error peculiar to VMS.  Perl handles its own command line
  1697.          redirection, and found a '<' on the command line, but can't find the
  1698.          name of the file from which to read data for stdin.
  1699.  
  1700.      No output file after > on command line
  1701.          (F) An error peculiar to VMS.  Perl handles its own command line
  1702.          redirection, and found a lone '>' at the end of the command line, so
  1703.          it doesn't know where you wanted to redirect stdout.
  1704.  
  1705.      No output file after > or >> on command line
  1706.          (F) An error peculiar to VMS.  Perl handles its own command line
  1707.          redirection, and found a '>' or a '>>' on the command line, but can't
  1708.          find the name of the file to which to write data destined for stdout.
  1709.  
  1710.  
  1711.  
  1712.  
  1713.                                                                        PPPPaaaaggggeeee 22226666
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1721.  
  1722.  
  1723.  
  1724.      No Perl script found in input
  1725.          (F) You called perl -x, but no line was found in the file beginning
  1726.          with #! and containing the word "perl".
  1727.  
  1728.      No setregid available
  1729.          (F) Configure didn't find anything resembling the _s_e_t_r_e_g_i_d() call for
  1730.          your system.
  1731.  
  1732.      No setreuid available
  1733.          (F) Configure didn't find anything resembling the _s_e_t_r_e_u_i_d() call for
  1734.          your system.
  1735.  
  1736.      No space allowed after ----IIII
  1737.          (F) The argument to ----IIII must follow the ----IIII immediately with no
  1738.          intervening space.
  1739.  
  1740.      No such pipe open
  1741.          (P) An error peculiar to VMS.  The internal routine _m_y__p_c_l_o_s_e() tried
  1742.          to close a pipe which hadn't been opened.  This should have been
  1743.          caught earlier as an attempt to close an unopened filehandle.
  1744.  
  1745.      No such signal: SIG%s
  1746.          (W) You specified a signal name as a subscript to %SIG that was not
  1747.          recognized.  Say kill -l in your shell to see the valid signal names
  1748.          on your system.
  1749.  
  1750.      Not a CODE reference
  1751.          (F) Perl was trying to evaluate a reference to a code value (that is,
  1752.          a subroutine), but found a reference to something else instead.  You
  1753.          can use the _r_e_f() function to find out what kind of ref it really
  1754.          was.  See also the _p_e_r_l_r_e_f manpage.
  1755.  
  1756.      Not a format reference
  1757.          (F) I'm not sure how you managed to generate a reference to an
  1758.          anonymous format, but this indicates you did, and that it didn't
  1759.          exist.
  1760.  
  1761.      Not a GLOB reference
  1762.          (F) Perl was trying to evaluate a reference to a "typeglob" (that is,
  1763.          a symbol table entry that looks like *foo), but found a reference to
  1764.          something else instead.  You can use the _r_e_f() function to find out
  1765.          what kind of ref it really was.  See the _p_e_r_l_r_e_f manpage.
  1766.  
  1767.      Not a HASH reference
  1768.          (F) Perl was trying to evaluate a reference to a hash value, but
  1769.          found a reference to something else instead.  You can use the _r_e_f()
  1770.          function to find out what kind of ref it really was.  See the _p_e_r_l_r_e_f
  1771.          manpage.
  1772.  
  1773.      Not a perl script
  1774.          (F) The setuid emulator requires that scripts have a well-formed #!
  1775.          line even on machines that don't support the #! construct.  The line
  1776.  
  1777.  
  1778.  
  1779.                                                                        PPPPaaaaggggeeee 22227777
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1787.  
  1788.  
  1789.  
  1790.          must mention perl.
  1791.  
  1792.      Not a SCALAR reference
  1793.          (F) Perl was trying to evaluate a reference to a scalar value, but
  1794.          found a reference to something else instead.  You can use the _r_e_f()
  1795.          function to find out what kind of ref it really was.  See the _p_e_r_l_r_e_f
  1796.          manpage.
  1797.  
  1798.      Not a subroutine reference
  1799.          (F) Perl was trying to evaluate a reference to a code value (that is,
  1800.          a subroutine), but found a reference to something else instead.  You
  1801.          can use the _r_e_f() function to find out what kind of ref it really
  1802.          was.  See also the _p_e_r_l_r_e_f manpage.
  1803.  
  1804.      Not a subroutine reference in overload table
  1805.          (F) An attempt was made to specify an entry in an overloading table
  1806.          that doesn't somehow point to a valid subroutine.  See the _o_v_e_r_l_o_a_d
  1807.          manpage.
  1808.  
  1809.      Not an ARRAY reference
  1810.          (F) Perl was trying to evaluate a reference to an array value, but
  1811.          found a reference to something else instead.  You can use the _r_e_f()
  1812.          function to find out what kind of ref it really was.  See the _p_e_r_l_r_e_f
  1813.          manpage.
  1814.  
  1815.      Not enough arguments for %s
  1816.          (F) The function requires more arguments than you specified.
  1817.  
  1818.      Not enough format arguments
  1819.          (W) A format specified more picture fields than the next line
  1820.          supplied.  See the _p_e_r_l_f_o_r_m manpage.
  1821.  
  1822.      Null filename used
  1823.          (F) You can't require the null filename, especially because on many
  1824.          machines that means the current directory!  See the require entry in
  1825.          the _p_e_r_l_f_u_n_c manpage.
  1826.  
  1827.      Null picture in formline
  1828.          (F) The first argument to formline must be a valid format picture
  1829.          specification.  It was found to be empty, which probably means you
  1830.          supplied it an uninitialized value.  See the _p_e_r_l_f_o_r_m manpage.
  1831.  
  1832.      NULL OP IN RUN
  1833.          (P) Some internal routine called _r_u_n() with a null opcode pointer.
  1834.  
  1835.      Null realloc
  1836.          (P) An attempt was made to realloc NULL.
  1837.  
  1838.      NULL regexp argument
  1839.          (P) The internal pattern matching routines blew it big time.
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.                                                                        PPPPaaaaggggeeee 22228888
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1853.  
  1854.  
  1855.  
  1856.      NULL regexp parameter
  1857.          (P) The internal pattern matching routines are out of their gourd.
  1858.  
  1859.      Number too long
  1860.          (F) Perl limits the representation of decimal numbers in programs to
  1861.          about about 250 characters.  You've exceeded that length.  Future
  1862.          versions of Perl are likely to eliminate this arbitrary limitation.
  1863.          In the meantime, try using scientific notation (e.g. "1e6" instead of
  1864.          "1_000_000").
  1865.  
  1866.      Odd number of elements in hash list
  1867.          (S) You specified an odd number of elements to a hash list, which is
  1868.          odd, because hash lists come in key/value pairs.
  1869.  
  1870.      Offset outside string
  1871.          (F) You tried to do a read/write/send/recv operation with an offset
  1872.          pointing outside the buffer.  This is difficult to imagine.  The sole
  1873.          exception to this is that sysread()ing past the buffer will extend
  1874.          the buffer and zero pad the new area.
  1875.  
  1876.      oops: oopsAV
  1877.          (S) An internal warning that the grammar is screwed up.
  1878.  
  1879.      oops: oopsHV
  1880.          (S) An internal warning that the grammar is screwed up.
  1881.  
  1882.      Operation `%s': no method found,%s
  1883.          (F) An attempt was made to perform an overloaded operation for which
  1884.          no handler was defined.  While some handlers can be autogenerated in
  1885.          terms of other handlers, there is no default handler for any
  1886.          operation, unless fallback overloading key is specified to be true.
  1887.          See the _o_v_e_r_l_o_a_d manpage.
  1888.  
  1889.      Operator or semicolon missing before %s
  1890.          (S) You used a variable or subroutine call where the parser was
  1891.          expecting an operator.  The parser has assumed you really meant to
  1892.          use an operator, but this is highly likely to be incorrect.  For
  1893.          example, if you say "*foo *foo" it will be interpreted as if you said
  1894.          "*foo * 'foo'".
  1895.  
  1896.      Out of memory for yacc stack
  1897.          (F) The yacc parser wanted to grow its stack so it could continue
  1898.          parsing, but _r_e_a_l_l_o_c() wouldn't give it more memory, virtual or
  1899.          otherwise.
  1900.  
  1901.      Out of memory!
  1902.          (X|F) The _m_a_l_l_o_c() function returned 0, indicating there was
  1903.          insufficient remaining memory (or virtual memory) to satisfy the
  1904.          request.
  1905.  
  1906.          The request was judged to be small, so the possibility to trap it
  1907.          depends on the way perl was compiled.  By default it is not
  1908.  
  1909.  
  1910.  
  1911.                                                                        PPPPaaaaggggeeee 22229999
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1919.  
  1920.  
  1921.  
  1922.          trappable.  However, if compiled for this, Perl may use the contents
  1923.          of $^M as an emergency pool after _d_i_e()ing with this message.  In
  1924.          this case the error is trappable _o_n_c_e.
  1925.  
  1926.      Out of memory during request for %s
  1927.          (F) The _m_a_l_l_o_c() function returned 0, indicating there was
  1928.          insufficient remaining memory (or virtual memory) to satisfy the
  1929.          request. However, the request was judged large enough (compile-time
  1930.          default is 64K), so a possibility to shut down by trapping this error
  1931.          is granted.
  1932.  
  1933.      page overflow
  1934.          (W) A single call to _w_r_i_t_e() produced more lines than can fit on a
  1935.          page.  See the _p_e_r_l_f_o_r_m manpage.
  1936.  
  1937.      panic: ck_grep
  1938.          (P) Failed an internal consistency check trying to compile a grep.
  1939.  
  1940.      panic: ck_split
  1941.          (P) Failed an internal consistency check trying to compile a split.
  1942.  
  1943.      panic: corrupt saved stack index
  1944.          (P) The savestack was requested to restore more localized values than
  1945.          there are in the savestack.
  1946.  
  1947.      panic: die %s
  1948.          (P) We popped the context stack to an eval context, and then
  1949.          discovered it wasn't an eval context.
  1950.  
  1951.      panic: do_match
  1952.          (P) The internal _p_p__m_a_t_c_h() routine was called with invalid
  1953.          operational data.
  1954.  
  1955.      panic: do_split
  1956.          (P) Something terrible went wrong in setting up for the split.
  1957.  
  1958.      panic: do_subst
  1959.          (P) The internal _p_p__s_u_b_s_t() routine was called with invalid
  1960.          operational data.
  1961.  
  1962.      panic: do_trans
  1963.          (P) The internal _d_o__t_r_a_n_s() routine was called with invalid
  1964.          operational data.
  1965.  
  1966.      panic: frexp
  1967.          (P) The library function _f_r_e_x_p() failed, making _p_r_i_n_t_f("%f")
  1968.          impossible.
  1969.  
  1970.      panic: goto
  1971.          (P) We popped the context stack to a context with the specified
  1972.          label, and then discovered it wasn't a context we know how to do a
  1973.          goto in.
  1974.  
  1975.  
  1976.  
  1977.                                                                        PPPPaaaaggggeeee 33330000
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1985.  
  1986.  
  1987.  
  1988.      panic: INTERPCASEMOD
  1989.          (P) The lexer got into a bad state at a case modifier.
  1990.  
  1991.      panic: INTERPCONCAT
  1992.          (P) The lexer got into a bad state parsing a string with brackets.
  1993.  
  1994.      panic: last
  1995.          (P) We popped the context stack to a block context, and then
  1996.          discovered it wasn't a block context.
  1997.  
  1998.      panic: leave_scope clearsv
  1999.          (P) A writable lexical variable became read-only somehow within the
  2000.          scope.
  2001.  
  2002.      panic: leave_scope inconsistency
  2003.          (P) The savestack probably got out of sync.  At least, there was an
  2004.          invalid enum on the top of it.
  2005.  
  2006.      panic: malloc
  2007.          (P) Something requested a negative number of bytes of malloc.
  2008.  
  2009.      panic: mapstart
  2010.          (P) The compiler is screwed up with respect to the _m_a_p() function.
  2011.  
  2012.      panic: null array
  2013.          (P) One of the internal array routines was passed a null AV pointer.
  2014.  
  2015.      panic: pad_alloc
  2016.          (P) The compiler got confused about which scratch pad it was
  2017.          allocating and freeing temporaries and lexicals from.
  2018.  
  2019.      panic: pad_free curpad
  2020.          (P) The compiler got confused about which scratch pad it was
  2021.          allocating and freeing temporaries and lexicals from.
  2022.  
  2023.      panic: pad_free po
  2024.          (P) An invalid scratch pad offset was detected internally.
  2025.  
  2026.      panic: pad_reset curpad
  2027.          (P) The compiler got confused about which scratch pad it was
  2028.          allocating and freeing temporaries and lexicals from.
  2029.  
  2030.      panic: pad_sv po
  2031.          (P) An invalid scratch pad offset was detected internally.
  2032.  
  2033.      panic: pad_swipe curpad
  2034.          (P) The compiler got confused about which scratch pad it was
  2035.          allocating and freeing temporaries and lexicals from.
  2036.  
  2037.      panic: pad_swipe po
  2038.          (P) An invalid scratch pad offset was detected internally.
  2039.  
  2040.  
  2041.  
  2042.  
  2043.                                                                        PPPPaaaaggggeeee 33331111
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2051.  
  2052.  
  2053.  
  2054.      panic: pp_iter
  2055.          (P) The foreach iterator got called in a non-loop context frame.
  2056.  
  2057.      panic: realloc
  2058.          (P) Something requested a negative number of bytes of realloc.
  2059.  
  2060.      panic: restartop
  2061.          (P) Some internal routine requested a goto (or something like it),
  2062.          and didn't supply the destination.
  2063.  
  2064.      panic: return
  2065.          (P) We popped the context stack to a subroutine or eval context, and
  2066.          then discovered it wasn't a subroutine or eval context.
  2067.  
  2068.      panic: scan_num
  2069.          (P) _s_c_a_n__n_u_m() got called on something that wasn't a number.
  2070.  
  2071.      panic: sv_insert
  2072.          (P) The _s_v__i_n_s_e_r_t() routine was told to remove more string than there
  2073.          was string.
  2074.  
  2075.      panic: top_env
  2076.          (P) The compiler attempted to do a goto, or something weird like
  2077.          that.
  2078.  
  2079.      panic: yylex
  2080.          (P) The lexer got into a bad state while processing a case modifier.
  2081.  
  2082.      Pareneses missing around "%s" list
  2083.          (W) You said something like
  2084.  
  2085.              my $foo, $bar = @_;
  2086.  
  2087.          when you meant
  2088.  
  2089.              my ($foo, $bar) = @_;
  2090.  
  2091.          Remember that "my" and "local" bind closer than comma.
  2092.  
  2093.      Perl %3.3f required--this is only version %s, stopped
  2094.          (F) The module in question uses features of a version of Perl more
  2095.          recent than the currently running version.  How long has it been
  2096.          since you upgraded, anyway?  See the require entry in the _p_e_r_l_f_u_n_c
  2097.          manpage.
  2098.  
  2099.      Permission denied
  2100.          (F) The setuid emulator in suidperl decided you were up to no good.
  2101.  
  2102.      pid %d not a child
  2103.          (W) A warning peculiar to VMS.  _W_a_i_t_p_i_d() was asked to wait for a
  2104.          process which isn't a subprocess of the current process.  While this
  2105.          is fine from VMS' perspective, it's probably not what you intended.
  2106.  
  2107.  
  2108.  
  2109.                                                                        PPPPaaaaggggeeee 33332222
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2117.  
  2118.  
  2119.  
  2120.      POSIX getpgrp can't take an argument
  2121.          (F) Your C compiler uses POSIX _g_e_t_p_g_r_p(), which takes no argument,
  2122.          unlike the BSD version, which takes a pid.
  2123.  
  2124.      Possible attempt to put comments in qw() list
  2125.          (W) _q_w() lists contain items separated by whitespace; as with literal
  2126.          strings, comment characters are not ignored, but are instead treated
  2127.          as literal data.  (You may have used different delimiters than the
  2128.          exclamation marks parentheses shown here; braces are also frequently
  2129.          used.)
  2130.  
  2131.          You probably wrote something like this:
  2132.  
  2133.              @list = qw(
  2134.                  a # a comment
  2135.                  b # another comment
  2136.              );
  2137.  
  2138.          when you should have written this:
  2139.  
  2140.              @list = qw(
  2141.                  a
  2142.                  b
  2143.              );
  2144.  
  2145.          If you really want comments, build your list the old-fashioned way,
  2146.          with quotes and commas:
  2147.  
  2148.              @list = (
  2149.                  'a',    # a comment
  2150.                  'b',    # another comment
  2151.              );
  2152.  
  2153.  
  2154.      Possible attempt to separate words with commas
  2155.          (W) _q_w() lists contain items separated by whitespace; therefore
  2156.          commas aren't needed to separate the items.  (You may have used
  2157.          different delimiters than the parentheses shown here; braces are also
  2158.          frequently used.)
  2159.  
  2160.          You probably wrote something like this:
  2161.  
  2162.              qw! a, b, c !;
  2163.  
  2164.          which puts literal commas into some of the list items.  Write it
  2165.          without commas if you don't want them to appear in your data:
  2166.  
  2167.              qw! a b c !;
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.                                                                        PPPPaaaaggggeeee 33333333
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2183.  
  2184.  
  2185.  
  2186.      Possible memory corruption: %s overflowed 3rd argument
  2187.          (F) An _i_o_c_t_l() or _f_c_n_t_l() returned more than Perl was bargaining for.
  2188.          Perl guesses a reasonable buffer size, but puts a sentinel byte at
  2189.          the end of the buffer just in case.  This sentinel byte got
  2190.          clobbered, and Perl assumes that memory is now corrupted.  See the
  2191.          ioctl entry in the _p_e_r_l_f_u_n_c manpage.
  2192.  
  2193.      Precedence problem: open %s should be open(%s)
  2194.          (S) The old irregular construct
  2195.  
  2196.              open FOO || die;
  2197.  
  2198.          is now misinterpreted as
  2199.  
  2200.              open(FOO || die);
  2201.  
  2202.          because of the strict regularization of Perl 5's grammar into unary
  2203.          and list operators.  (The old open was a little of both.)  You must
  2204.          put parentheses around the filehandle, or use the new "or" operator
  2205.          instead of "||".
  2206.  
  2207.      print on closed filehandle %s
  2208.          (W) The filehandle you're printing on got itself closed sometime
  2209.          before now.  Check your logic flow.
  2210.  
  2211.      printf on closed filehandle %s
  2212.          (W) The filehandle you're writing to got itself closed sometime
  2213.          before now.  Check your logic flow.
  2214.  
  2215.      Probable precedence problem on %s
  2216.          (W) The compiler found a bareword where it expected a conditional,
  2217.          which often indicates that an || or && was parsed as part of the last
  2218.          argument of the previous construct, for example:
  2219.  
  2220.              open FOO || die;
  2221.  
  2222.  
  2223.      Prototype mismatch: %s vs %s
  2224.          (S) The subroutine being declared or defined had previously been
  2225.          declared or defined with a different function prototype.
  2226.  
  2227.      Read on closed filehandle <%s>
  2228.          (W) The filehandle you're reading from got itself closed sometime
  2229.          before now.  Check your logic flow.
  2230.  
  2231.      Reallocation too large: %lx
  2232.          (F) You can't allocate more than 64K on an MS-DOS machine.
  2233.  
  2234.      Recompile perl with ----DDDDDEBUGGING to use ----DDDD switch
  2235.          (F) You can't use the ----DDDD option unless the code to produce the
  2236.          desired output is compiled into Perl, which entails some overhead,
  2237.          which is why it's currently left out of your copy.
  2238.  
  2239.  
  2240.  
  2241.                                                                        PPPPaaaaggggeeee 33334444
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2249.  
  2250.  
  2251.  
  2252.      Recursive inheritance detected
  2253.          (F) More than 100 levels of inheritance were used.  Probably
  2254.          indicates an unintended loop in your inheritance hierarchy.
  2255.  
  2256.      Reference miscount in sv_replace()
  2257.          (W) The internal _s_v__r_e_p_l_a_c_e() function was handed a new SV with a
  2258.          reference count of other than 1.
  2259.  
  2260.      regexp *+ operand could be empty
  2261.          (F) The part of the regexp subject to either the * or + quantifier
  2262.          could match an empty string.
  2263.  
  2264.      regexp memory corruption
  2265.          (P) The regular expression engine got confused by what the regular
  2266.          expression compiler gave it.
  2267.  
  2268.      regexp out of space
  2269.          (P) A "can't happen" error, because _s_a_f_e_m_a_l_l_o_c() should have caught
  2270.          it earlier.
  2271.  
  2272.      regexp too big
  2273.          (F) The current implementation of regular expressions uses shorts as
  2274.          address offsets within a string.  Unfortunately this means that if
  2275.          the regular expression compiles to longer than 32767, it'll blow up.
  2276.          Usually when you want a regular expression this big, there is a
  2277.          better way to do it with multiple statements.  See the _p_e_r_l_r_e
  2278.          manpage.
  2279.  
  2280.      Reversed %s= operator
  2281.          (W) You wrote your assignment operator backwards.  The = must always
  2282.          comes last, to avoid ambiguity with subsequent unary operators.
  2283.  
  2284.      Runaway format
  2285.          (F) Your format contained the ~~ repeat-until-blank sequence, but it
  2286.          produced 200 lines at once, and the 200th line looked exactly like
  2287.          the 199th line.  Apparently you didn't arrange for the arguments to
  2288.          exhaust themselves, either by using ^ instead of @ (for scalar
  2289.          variables), or by shifting or popping (for array variables).  See the
  2290.          _p_e_r_l_f_o_r_m manpage.
  2291.  
  2292.      Scalar value @%s[%s] better written as $%s[%s]
  2293.          (W) You've used an array slice (indicated by @) to select a single
  2294.          element of an array.  Generally it's better to ask for a scalar value
  2295.          (indicated by $).  The difference is that $foo[&bar] always behaves
  2296.          like a scalar, both when assigning to it and when evaluating its
  2297.          argument, while @foo[&bar] behaves like a list when you assign to it,
  2298.          and provides a list context to its subscript, which can do weird
  2299.          things if you're expecting only one subscript.
  2300.  
  2301.          On the other hand, if you were actually hoping to treat the array
  2302.          element as a list, you need to look into how references work, because
  2303.          Perl will not magically convert between scalars and lists for you.
  2304.  
  2305.  
  2306.  
  2307.                                                                        PPPPaaaaggggeeee 33335555
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2315.  
  2316.  
  2317.  
  2318.          See the _p_e_r_l_r_e_f manpage.
  2319.  
  2320.      Scalar value @%s{%s} better written as $%s{%s}
  2321.          (W) You've used a hash slice (indicated by @) to select a single
  2322.          element of a hash.  Generally it's better to ask for a scalar value
  2323.          (indicated by $).  The difference is that $foo{&bar} always behaves
  2324.          like a scalar, both when assigning to it and when evaluating its
  2325.          argument, while @foo{&bar} behaves like a list when you assign to it,
  2326.          and provides a list context to its subscript, which can do weird
  2327.          things if you're expecting only one subscript.
  2328.  
  2329.          On the other hand, if you were actually hoping to treat the hash
  2330.          element as a list, you need to look into how references work, because
  2331.          Perl will not magically convert between scalars and lists for you.
  2332.          See the _p_e_r_l_r_e_f manpage.
  2333.  
  2334.      Script is not setuid/setgid in suidperl
  2335.          (F) Oddly, the suidperl program was invoked on a script without a
  2336.          setuid or setgid bit set.  This doesn't make much sense.
  2337.  
  2338.      Search pattern not terminated
  2339.          (F) The lexer couldn't find the final delimiter of a // or m{}
  2340.          construct.  Remember that bracketing delimiters count nesting level.
  2341.          Missing the leading $ from a variable $m may cause this error.
  2342.  
  2343.      %sseek() on unopened file
  2344.          (W) You tried to use the _s_e_e_k() or _s_y_s_s_e_e_k() function on a filehandle
  2345.          that was either never opened or has since been closed.
  2346.  
  2347.      select not implemented
  2348.          (F) This machine doesn't implement the _s_e_l_e_c_t() system call.
  2349.  
  2350.      sem%s not implemented
  2351.          (F) You don't have System V semaphore IPC on your system.
  2352.  
  2353.      semi-panic: attempt to dup freed string
  2354.          (S) The internal _n_e_w_S_V_s_v() routine was called to duplicate a scalar
  2355.          that had previously been marked as free.
  2356.  
  2357.      Semicolon seems to be missing
  2358.          (W) A nearby syntax error was probably caused by a missing semicolon,
  2359.          or possibly some other missing operator, such as a comma.
  2360.  
  2361.      Send on closed socket
  2362.          (W) The filehandle you're sending to got itself closed sometime
  2363.          before now.  Check your logic flow.
  2364.  
  2365. extension (?. See the _p_e_r_l_r_e manpage.
  2366.      Sequence (? incomplete (F) A regular expression ended with an incomplete
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.                                                                        PPPPaaaaggggeeee 33336666
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2381.  
  2382.  
  2383.  
  2384.      Sequence (?#... not terminated
  2385.          (F) A regular expression comment must be terminated by a closing
  2386.          parenthesis.  Embedded parentheses aren't allowed.  See the _p_e_r_l_r_e
  2387.          manpage.
  2388.  
  2389.      Sequence (?%s...) not implemented
  2390.          (F) A proposed regular expression extension has the character
  2391.          reserved but has not yet been written.  See the _p_e_r_l_r_e manpage.
  2392.  
  2393.      Sequence (?%s...) not recognized
  2394.          (F) You used a regular expression extension that doesn't make sense.
  2395.          See the _p_e_r_l_r_e manpage.
  2396.  
  2397.      Server error
  2398.          Also known as "500 Server error".
  2399.  
  2400.          TTTThhhhiiiissss iiiissss aaaa CCCCGGGGIIII eeeerrrrrrrroooorrrr,,,, nnnnooootttt aaaa PPPPeeeerrrrllll eeeerrrrrrrroooorrrr.
  2401.  
  2402.          You need to make sure your script is executable, is accessible by the
  2403.          user CGI is running the script under (which is probably not the user
  2404.          account you tested it under), does not rely on any environment
  2405.          variables (like PATH) from the user it isn't running under, and isn't
  2406.          in a location where the CGI server can't find it, basically, more or
  2407.          less.  Please see the following for more information:
  2408.  
  2409.                  http://www.perl.com/perl/faq/idiots-guide.html
  2410.                  http://www.perl.com/perl/faq/perl-cgi-faq.html
  2411.                  ftp://rtfm.mit.edu/pub/usenet/news.answers/www/cgi-faq
  2412.                  http://hoohoo.ncsa.uiuc.edu/cgi/interface.html
  2413.                  http://www-genome.wi.mit.edu/WWW/faqs/www-security-faq.html
  2414.  
  2415.  
  2416.      setegid() not implemented
  2417.          (F) You tried to assign to $), and your operating system doesn't
  2418.          support the _s_e_t_e_g_i_d() system call (or equivalent), or at least
  2419.          Configure didn't think so.
  2420.  
  2421.      seteuid() not implemented
  2422.          (F) You tried to assign to $>, and your operating system doesn't
  2423.          support the _s_e_t_e_u_i_d() system call (or equivalent), or at least
  2424.          Configure didn't think so.
  2425.  
  2426.      setrgid() not implemented
  2427.          (F) You tried to assign to $(, and your operating system doesn't
  2428.          support the _s_e_t_r_g_i_d() system call (or equivalent), or at least
  2429.          Configure didn't think so.
  2430.  
  2431.      setruid() not implemented
  2432.          (F) You tried to assign to $<, and your operating system doesn't
  2433.          support the _s_e_t_r_u_i_d() system call (or equivalent), or at least
  2434.          Configure didn't think so.
  2435.  
  2436.  
  2437.  
  2438.  
  2439.                                                                        PPPPaaaaggggeeee 33337777
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2447.  
  2448.  
  2449.  
  2450.      Setuid/gid script is writable by world
  2451.          (F) The setuid emulator won't run a script that is writable by the
  2452.          world, because the world might have written on it already.
  2453.  
  2454.      shm%s not implemented
  2455.          (F) You don't have System V shared memory IPC on your system.
  2456.  
  2457.      shutdown() on closed fd
  2458.          (W) You tried to do a shutdown on a closed socket.  Seems a bit
  2459.          superfluous.
  2460.  
  2461.      SIG%s handler "%s" not defined
  2462.          (W) The signal handler named in %SIG doesn't, in fact, exist.
  2463.          Perhaps you put it into the wrong package?
  2464.  
  2465.      sort is now a reserved word
  2466.          (F) An ancient error message that almost nobody ever runs into
  2467.          anymore.  But before sort was a keyword, people sometimes used it as
  2468.          a filehandle.
  2469.  
  2470.      Sort subroutine didn't return a numeric value
  2471.          (F) A sort comparison routine must return a number.  You probably
  2472.          blew it by not using <=> or cmp, or by not using them correctly.  See
  2473.          the sort entry in the _p_e_r_l_f_u_n_c manpage.
  2474.  
  2475.      Sort subroutine didn't return single value
  2476.          (F) A sort comparison subroutine may not return a list value with
  2477.          more or less than one element.  See the sort entry in the _p_e_r_l_f_u_n_c
  2478.          manpage.
  2479.  
  2480.      Split loop
  2481.          (P) The split was looping infinitely.  (Obviously, a split shouldn't
  2482.          iterate more times than there are characters of input, which is what
  2483.          happened.)  See the split entry in the _p_e_r_l_f_u_n_c manpage.
  2484.  
  2485.      Stat on unopened file <%s>
  2486.          (W) You tried to use the _s_t_a_t() function (or an equivalent file test)
  2487.          on a filehandle that was either never opened or has since been
  2488.          closed.
  2489.  
  2490.      Statement unlikely to be reached
  2491.          (W) You did an _e_x_e_c() with some statement after it other than a
  2492.          _d_i_e().  This is almost always an error, because _e_x_e_c() never returns
  2493.          unless there was a failure.  You probably wanted to use _s_y_s_t_e_m()
  2494.          instead, which does return.  To suppress this warning, put the _e_x_e_c()
  2495.          in a block by itself.
  2496.  
  2497.      Stub found while resolving method `%s' overloading `%s' in package `%s'
  2498.          (P) Overloading resolution over @ISA tree may be broken by
  2499.          importation stubs.  Stubs should never be implicitely created, but
  2500.          explicit calls to can may break this.
  2501.  
  2502.  
  2503.  
  2504.  
  2505.                                                                        PPPPaaaaggggeeee 33338888
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2513.  
  2514.  
  2515.  
  2516.      Subroutine %s redefined
  2517.          (W) You redefined a subroutine.  To suppress this warning, say
  2518.  
  2519.              {
  2520.                  local $^W = 0;
  2521.                  eval "sub name { ... }";
  2522.              }
  2523.  
  2524.  
  2525.      Substitution loop
  2526.          (P) The substitution was looping infinitely.  (Obviously, a
  2527.          substitution shouldn't iterate more times than there are characters
  2528.          of input, which is what happened.)  See the discussion of
  2529.          substitution in the section on _Q_u_o_t_e _a_n_d _Q_u_o_t_e-_l_i_k_e _O_p_e_r_a_t_o_r_s in the
  2530.          _p_e_r_l_o_p manpage.
  2531.  
  2532.      Substitution pattern not terminated
  2533.          (F) The lexer couldn't find the interior delimiter of a s/// or s{}{}
  2534.          construct.  Remember that bracketing delimiters count nesting level.
  2535.          Missing the leading $ from variable $s may cause this error.
  2536.  
  2537.      Substitution replacement not terminated
  2538.          (F) The lexer couldn't find the final delimiter of a s/// or s{}{}
  2539.          construct.  Remember that bracketing delimiters count nesting level.
  2540.          Missing the leading $ from variable $s may cause this error.
  2541.  
  2542.      substr outside of string
  2543.          (S),(W) You tried to reference a _s_u_b_s_t_r() that pointed outside of a
  2544.          string.  That is, the absolute value of the offset was larger than
  2545.          the length of the string.  See the substr entry in the _p_e_r_l_f_u_n_c
  2546.          manpage.  This warning is mandatory if substr is used in an lvalue
  2547.          context (as the left hand side of an assignment or as a subroutine
  2548.          argument for example).
  2549.  
  2550.      suidperl is no longer needed since %s
  2551.          (F) Your Perl was compiled with ----DDDDSETUID_SCRIPTS_ARE_SECURE_NOW, but
  2552.          a version of the setuid emulator somehow got run anyway.
  2553.  
  2554.      syntax error
  2555.          (F) Probably means you had a syntax error.  Common reasons include:
  2556.  
  2557.              A keyword is misspelled.
  2558.              A semicolon is missing.
  2559.              A comma is missing.
  2560.              An opening or closing parenthesis is missing.
  2561.              An opening or closing brace is missing.
  2562.              A closing quote is missing.
  2563.  
  2564.          Often there will be another error message associated with the syntax
  2565.          error giving more information.  (Sometimes it helps to turn on ----wwww.)
  2566.          The error message itself often tells you where it was in the line
  2567.          when it decided to give up.  Sometimes the actual error is several
  2568.  
  2569.  
  2570.  
  2571.                                                                        PPPPaaaaggggeeee 33339999
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2579.  
  2580.  
  2581.  
  2582.          tokens before this, because Perl is good at understanding random
  2583.          input.  Occasionally the line number may be misleading, and once in a
  2584.          blue moon the only way to figure out what's triggering the error is
  2585.          to call perl -c repeatedly, chopping away half the program each time
  2586.          to see if the error went away.  Sort of the cybernetic version of
  2587.          20 questions.
  2588.  
  2589.      syntax error at line %d: `%s' unexpected
  2590.          (A) You've accidentally run your script through the Bourne shell
  2591.          instead of Perl.  Check the #! line, or manually feed your script
  2592.          into Perl yourself.
  2593.  
  2594.      System V IPC is not implemented on this machine
  2595.          (F) You tried to do something with a function beginning with "sem",
  2596.          "shm", or "msg".  See the semctl entry in the _p_e_r_l_f_u_n_c manpage, for
  2597.          example.
  2598.  
  2599.      Syswrite on closed filehandle
  2600.          (W) The filehandle you're writing to got itself closed sometime
  2601.          before now.  Check your logic flow.
  2602.  
  2603.      Target of goto is too deeply nested
  2604.          (F) You tried to use goto to reach a label that was too deeply nested
  2605.          for Perl to reach.  Perl is doing you a favor by refusing.
  2606.  
  2607.      tell() on unopened file
  2608.          (W) You tried to use the _t_e_l_l() function on a filehandle that was
  2609.          either never opened or has since been closed.
  2610.  
  2611.      Test on unopened file <%s>
  2612.          (W) You tried to invoke a file test operator on a filehandle that
  2613.          isn't open.  Check your logic.  See also the section on -_X in the
  2614.          _p_e_r_l_f_u_n_c manpage.
  2615.  
  2616.      That use of $[ is unsupported
  2617.          (F) Assignment to $[ is now strictly circumscribed, and interpreted
  2618.          as a compiler directive.  You may say only one of
  2619.  
  2620.              $[ = 0;
  2621.              $[ = 1;
  2622.              ...
  2623.              local $[ = 0;
  2624.              local $[ = 1;
  2625.              ...
  2626.  
  2627.          This is to prevent the problem of one module changing the array base
  2628.          out from under another module inadvertently.  See the section on $[
  2629.          in the _p_e_r_l_v_a_r manpage.
  2630.  
  2631.      The %s function is unimplemented
  2632.          The function indicated isn't implemented on this architecture,
  2633.          according to the probings of Configure.
  2634.  
  2635.  
  2636.  
  2637.                                                                        PPPPaaaaggggeeee 44440000
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2645.  
  2646.  
  2647.  
  2648.      The crypt() function is unimplemented due to excessive paranoia
  2649.          (F) Configure couldn't find the _c_r_y_p_t() function on your machine,
  2650.          probably because your vendor didn't supply it, probably because they
  2651.          think the U.S. Government thinks it's a secret, or at least that they
  2652.          will continue to pretend that it is.  And if you quote me on that, I
  2653.          will deny it.
  2654.  
  2655.      The stat preceding -l _ wasn't an lstat
  2656.          (F) It makes no sense to test the current stat buffer for symbolic
  2657.          linkhood if the last stat that wrote to the stat buffer already went
  2658.          past the symlink to get to the real file.  Use an actual filename
  2659.          instead.
  2660.  
  2661.      times not implemented
  2662.          (F) Your version of the C library apparently doesn't do _t_i_m_e_s().  I
  2663.          suspect you're not running on Unix.
  2664.  
  2665.      Too few args to syscall
  2666.          (F) There has to be at least one argument to _s_y_s_c_a_l_l() to specify the
  2667.          system call to call, silly dilly.
  2668.  
  2669.      Too late for "----TTTT" option
  2670.          (X) The #! line (or local equivalent) in a Perl script contains the
  2671.          ----TTTT option, but Perl was not invoked with ----TTTT in its command line.
  2672.          This is an error because, by the time Perl discovers a ----TTTT in a
  2673.          script, it's too late to properly taint everything from the
  2674.          environment.  So Perl gives up.
  2675.  
  2676.          If the Perl script is being executed as a command using the #!
  2677.          mechanism (or its local equivalent), this error can usually be fixed
  2678.          by editing the #! line so that the ----TTTT option is a part of Perl's
  2679.          first argument: e.g. change perl -n -T to perl -T -n.
  2680.  
  2681.          If the Perl script is being executed as perl scriptname, then the ----TTTT
  2682.          option must appear on the command line: perl -T scriptname.
  2683.  
  2684.      Too late for "-%s" option
  2685.          (X) The #! line (or local equivalent) in a Perl script contains the
  2686.          ----MMMM or ----mmmm option.  This is an error because ----MMMM and ----mmmm options are not
  2687.          intended for use inside scripts.  Use the use pragma instead.
  2688.  
  2689.      Too many ('s
  2690.  
  2691.      Too many )'s
  2692.          (A) You've accidentally run your script through ccccsssshhhh instead of Perl.
  2693.          Check the #! line, or manually feed your script into Perl yourself.
  2694.  
  2695.      Too many args to syscall
  2696.          (F) Perl supports a maximum of only 14 args to _s_y_s_c_a_l_l().
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.                                                                        PPPPaaaaggggeeee 44441111
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2711.  
  2712.  
  2713.  
  2714.      Too many arguments for %s
  2715.          (F) The function requires fewer arguments than you specified.
  2716.  
  2717.      trailing \ in regexp
  2718.          (F) The regular expression ends with an unbackslashed backslash.
  2719.          Backslash it.   See the _p_e_r_l_r_e manpage.
  2720.  
  2721.      Translation pattern not terminated
  2722.          (F) The lexer couldn't find the interior delimiter of a tr/// or
  2723.          tr[][] or y/// or y[][] construct.  Missing the leading $ from
  2724.          variables $tr or $y may cause this error.
  2725.  
  2726.      Translation replacement not terminated
  2727.          (F) The lexer couldn't find the final delimiter of a tr/// or tr[][]
  2728.          construct.
  2729.  
  2730.      truncate not implemented
  2731.          (F) Your machine doesn't implement a file truncation mechanism that
  2732.          Configure knows about.
  2733.  
  2734.      Type of arg %d to %s must be %s (not %s)
  2735.          (F) This function requires the argument in that position to be of a
  2736.          certain type.  Arrays must be @NAME or @{EXPR}.  Hashes must be %NAME
  2737.          or %{EXPR}.  No implicit dereferencing is allowed--use the {EXPR}
  2738.          forms as an explicit dereference.  See the _p_e_r_l_r_e_f manpage.
  2739.  
  2740.      umask: argument is missing initial 0
  2741.          (W) A umask of 222 is incorrect.  It should be 0222, because octal
  2742.          literals always start with 0 in Perl, as in C.
  2743.  
  2744.      Unable to create sub named "%s"
  2745.          (F) You attempted to create or access a subroutine with an illegal
  2746.          name.
  2747.  
  2748.      Unbalanced context: %d more PUSHes than POPs
  2749.          (W) The exit code detected an internal inconsistency in how many
  2750.          execution contexts were entered and left.
  2751.  
  2752.      Unbalanced saves: %d more saves than restores
  2753.          (W) The exit code detected an internal inconsistency in how many
  2754.          values were temporarily localized.
  2755.  
  2756.      Unbalanced scopes: %d more ENTERs than LEAVEs
  2757.          (W) The exit code detected an internal inconsistency in how many
  2758.          blocks were entered and left.
  2759.  
  2760.      Unbalanced tmps: %d more allocs than frees
  2761.          (W) The exit code detected an internal inconsistency in how many
  2762.          mortal scalars were allocated and freed.
  2763.  
  2764.  
  2765.  
  2766.  
  2767.  
  2768.  
  2769.                                                                        PPPPaaaaggggeeee 44442222
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2777.  
  2778.  
  2779.  
  2780.      Undefined format "%s" called
  2781.          (F) The format indicated doesn't seem to exist.  Perhaps it's really
  2782.          in another package?  See the _p_e_r_l_f_o_r_m manpage.
  2783.  
  2784.      Undefined sort subroutine "%s" called
  2785.          (F) The sort comparison routine specified doesn't seem to exist.
  2786.          Perhaps it's in a different package?  See the sort entry in the
  2787.          _p_e_r_l_f_u_n_c manpage.
  2788.  
  2789.      Undefined subroutine &%s called
  2790.          (F) The subroutine indicated hasn't been defined, or if it was, it
  2791.          has since been undefined.
  2792.  
  2793.      Undefined subroutine called
  2794.          (F) The anonymous subroutine you're trying to call hasn't been
  2795.          defined, or if it was, it has since been undefined.
  2796.  
  2797.      Undefined subroutine in sort
  2798.          (F) The sort comparison routine specified is declared but doesn't
  2799.          seem to have been defined yet.  See the sort entry in the _p_e_r_l_f_u_n_c
  2800.          manpage.
  2801.  
  2802.      Undefined top format "%s" called
  2803.          (F) The format indicated doesn't seem to exist.  Perhaps it's really
  2804.          in another package?  See the _p_e_r_l_f_o_r_m manpage.
  2805.  
  2806.      unexec of %s into %s failed!
  2807.          (F) The _u_n_e_x_e_c() routine failed for some reason.  See your local FSF
  2808.          representative, who probably put it there in the first place.
  2809.  
  2810.      Unknown BYTEORDER
  2811.          (F) There are no byte-swapping functions for a machine with this byte
  2812.          order.
  2813.  
  2814.      unmatched () in regexp
  2815.          (F) Unbackslashed parentheses must always be balanced in regular
  2816.          expressions.  If you're a vi user, the % key is valuable for finding
  2817.          the matching parenthesis.  See the _p_e_r_l_r_e manpage.
  2818.  
  2819.      Unmatched right bracket
  2820.          (F) The lexer counted more closing curly brackets (braces) than
  2821.          opening ones, so you're probably missing an opening bracket.  As a
  2822.          general rule, you'll find the missing one (so to speak) near the
  2823.          place you were last editing.
  2824.  
  2825.      unmatched [] in regexp
  2826.          (F) The brackets around a character class must match.  If you wish to
  2827.          include a closing bracket in a character class, backslash it or put
  2828.          it first.  See the _p_e_r_l_r_e manpage.
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.                                                                        PPPPaaaaggggeeee 44443333
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2843.  
  2844.  
  2845.  
  2846.      Unquoted string "%s" may clash with future reserved word
  2847.          (W) You used a bareword that might someday be claimed as a reserved
  2848.          word.  It's best to put such a word in quotes, or capitalize it
  2849.          somehow, or insert an underbar into it.  You might also declare it as
  2850.          a subroutine.
  2851.  
  2852.      Unrecognized character %s
  2853.          (F) The Perl parser has no idea what to do with the specified
  2854.          character in your Perl script (or eval).  Perhaps you tried to run a
  2855.          compressed script, a binary program, or a directory as a Perl
  2856.          program.
  2857.  
  2858.      Unrecognized signal name "%s"
  2859.          (F) You specified a signal name to the _k_i_l_l() function that was not
  2860.          recognized.  Say kill -l in your shell to see the valid signal names
  2861.          on your system.
  2862.  
  2863.      Unrecognized switch: -%s  (-h will show valid options)
  2864.          (F) You specified an illegal option to Perl.  Don't do that.  (If you
  2865.          think you didn't do that, check the #! line to see if it's supplying
  2866.          the bad switch on your behalf.)
  2867.  
  2868.      Unsuccessful %s on filename containing newline
  2869.          (W) A file operation was attempted on a filename, and that operation
  2870.          failed, PROBABLY because the filename contained a newline, PROBABLY
  2871.          because you forgot to _c_h_o_p() or _c_h_o_m_p() it off.  See the chomp entry
  2872.          in the _p_e_r_l_f_u_n_c manpage.
  2873.  
  2874.      Unsupported directory function "%s" called
  2875.          (F) Your machine doesn't support _o_p_e_n_d_i_r() and _r_e_a_d_d_i_r().
  2876.  
  2877.      Unsupported function fork
  2878.          (F) Your version of executable does not support forking.
  2879.  
  2880.          Note that under some systems, like OS/2, there may be different
  2881.          flavors of Perl executables, some of which may support fork, some
  2882.          not. Try changing the name you call Perl by to perl_, perl__, and so
  2883.          on.
  2884.  
  2885.      Unsupported function %s
  2886.          (F) This machines doesn't implement the indicated function,
  2887.          apparently.  At least, Configure doesn't think so.
  2888.  
  2889.      Unsupported socket function "%s" called
  2890.          (F) Your machine doesn't support the Berkeley socket mechanism, or at
  2891.          least that's what Configure thought.
  2892.  
  2893.      Unterminated <> operator
  2894.          (F) The lexer saw a left angle bracket in a place where it was
  2895.          expecting a term, so it's looking for the corresponding right angle
  2896.          bracket, and not finding it.  Chances are you left some needed
  2897.          parentheses out earlier in the line, and you really meant a "less
  2898.  
  2899.  
  2900.  
  2901.                                                                        PPPPaaaaggggeeee 44444444
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2909.  
  2910.  
  2911.  
  2912.          than".
  2913.  
  2914.      Use of "$$<digit>" to mean "${$}<digit>" is deprecated
  2915.          (D) Perl versions before 5.004 misinterpreted any type marker
  2916.          followed by "$" and a digit.  For example, "$$0" was incorrectly
  2917.          taken to mean "${$}0" instead of "${$0}".  This bug is (mostly) fixed
  2918.          in Perl 5.004.
  2919.  
  2920.          However, the developers of Perl 5.004 could not fix this bug
  2921.          completely, because at least two widely-used modules depend on the
  2922.          old meaning of "$$0" in a string.  So Perl 5.004 still interprets
  2923.          "$$<digit>" in the old (broken) way inside strings; but it generates
  2924.          this message as a warning.  And in Perl 5.005, this special treatment
  2925.          will cease.
  2926.  
  2927.      Use of $# is deprecated
  2928.          (D) This was an ill-advised attempt to emulate a poorly defined aaaawwwwkkkk
  2929.          feature.  Use an explicit _p_r_i_n_t_f() or _s_p_r_i_n_t_f() instead.
  2930.  
  2931.      Use of $* is deprecated
  2932.          (D) This variable magically turned on multi-line pattern matching,
  2933.          both for you and for any luckless subroutine that you happen to call.
  2934.          You should use the new //m and //s modifiers now to do that without
  2935.          the dangerous action-at-a-distance effects of $*.
  2936.  
  2937.      Use of %s in printf format not supported
  2938.          (F) You attempted to use a feature of printf that is accessible from
  2939.          only C.  This usually means there's a better way to do it in Perl.
  2940.  
  2941.      Use of bare << to mean <<" is deprecated
  2942.          (D) You are now encouraged to use the explicitly quoted form if you
  2943.          wish to use an empty line as the terminator of the here-document.
  2944.  
  2945.      Use of implicit split to @_ is deprecated
  2946.          (D) It makes a lot of work for the compiler when you clobber a
  2947.          subroutine's argument list, so it's better if you assign the results
  2948.          of a _s_p_l_i_t() explicitly to an array (or list).
  2949.  
  2950.      Use of inherited AUTOLOAD for non-method %s() is deprecated
  2951.          (D) As an (ahem) accidental feature, AUTOLOAD subroutines are looked
  2952.          up as methods (using the @ISA hierarchy) even when the subroutines to
  2953.          be autoloaded were called as plain functions (e.g. Foo::bar()), not
  2954.          as methods (e.g. Foo-_b_a_r()> or $obj-_b_a_r()>).
  2955.  
  2956.          This bug will be rectified in Perl 5.005, which will use method
  2957.          lookup only for methods' AUTOLOADs.  However, there is a significant
  2958.          base of existing code that may be using the old behavior.  So, as an
  2959.          interim step, Perl 5.004 issues an optional warning when non-methods
  2960.          use inherited AUTOLOADs.
  2961.  
  2962.          The simple rule is:  Inheritance will not work when autoloading non-
  2963.          methods.  The simple fix for old code is:  In any module that used to
  2964.  
  2965.  
  2966.  
  2967.                                                                        PPPPaaaaggggeeee 44445555
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2975.  
  2976.  
  2977.  
  2978.          depend on inheriting AUTOLOAD for non-methods from a base class named
  2979.          BaseClass, execute *AUTOLOAD = \&BaseClass::AUTOLOAD during startup.
  2980.  
  2981.          In code that currently says use AutoLoader; @ISA = qw(AutoLoader);
  2982.          you should remove AutoLoader from @ISA and change use AutoLoader; to
  2983.          C<use AutoLoader 'AUTOLOAD';.
  2984.  
  2985.      Use of %s is deprecated
  2986.          (D) The construct indicated is no longer recommended for use,
  2987.          generally because there's a better way to do it, and also because the
  2988.          old way has bad side effects.
  2989.  
  2990.      Use of uninitialized value
  2991.          (W) An undefined value was used as if it were already defined.  It
  2992.          was interpreted as a "" or a 0, but maybe it was a mistake.  To
  2993.          suppress this warning assign an initial value to your variables.
  2994.  
  2995.      Useless use of %s in void context
  2996.          (W) You did something without a side effect in a context that does
  2997.          nothing with the return value, such as a statement that doesn't
  2998.          return a value from a block, or the left side of a scalar comma
  2999.          operator.  Very often this points not to stupidity on your part, but
  3000.          a failure of Perl to parse your program the way you thought it would.
  3001.          For example, you'd get this if you mixed up your C precedence with
  3002.          Python precedence and said
  3003.  
  3004.              $one, $two = 1, 2;
  3005.  
  3006.          when you meant to say
  3007.  
  3008.              ($one, $two) = (1, 2);
  3009.  
  3010.          Another common error is to use ordinary parentheses to construct a
  3011.          list reference when you should be using square or curly brackets, for
  3012.          example, if you say
  3013.  
  3014.              $array = (1,2);
  3015.  
  3016.          when you should have said
  3017.  
  3018.              $array = [1,2];
  3019.  
  3020.          The square brackets explicitly turn a list value into a scalar value,
  3021.          while parentheses do not.  So when a parenthesized list is evaluated
  3022.          in a scalar context, the comma is treated like C's comma operator,
  3023.          which throws away the left argument, which is not what you want.  See
  3024.          the _p_e_r_l_r_e_f manpage for more on this.
  3025.  
  3026.      untie attempted while %d inner references still exist
  3027.          (W) A copy of the object returned from tie (or tied) was still valid
  3028.          when untie was called.
  3029.  
  3030.  
  3031.  
  3032.  
  3033.                                                                        PPPPaaaaggggeeee 44446666
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039.  
  3040. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  3041.  
  3042.  
  3043.  
  3044.      Value of %s can be "0"; test with defined()
  3045.          (W) In a conditional expression, you used <HANDLE>, <*> (glob),
  3046.          each(), or readdir() as a boolean value.  Each of these constructs
  3047.          can return a value of "0"; that would make the conditional expression
  3048.          false, which is probably not what you intended.  When using these
  3049.          constructs in conditional expressions, test their values with the
  3050.          defined operator.
  3051.  
  3052.      Variable "%s" is not imported%s
  3053.          (F) While "use strict" in effect, you referred to a global variable
  3054.          that you apparently thought was imported from another module, because
  3055.          something else of the same name (usually a subroutine) is exported by
  3056.          that module.  It usually means you put the wrong funny character on
  3057.          the front of your variable.
  3058.  
  3059.      Variable "%s" may be unavailable
  3060.          (W) An inner (nested) _a_n_o_n_y_m_o_u_s subroutine is inside a _n_a_m_e_d
  3061.          subroutine, and outside that is another subroutine; and the anonymous
  3062.          (innermost) subroutine is referencing a lexical variable defined in
  3063.          the outermost subroutine.  For example:
  3064.  
  3065.             sub outermost { my $a; sub middle { sub { $a } } }
  3066.  
  3067.          If the anonymous subroutine is called or referenced (directly or
  3068.          indirectly) from the outermost subroutine, it will share the variable
  3069.          as you would expect.  But if the anonymous subroutine is called or
  3070.          referenced when the outermost subroutine is not active, it will see
  3071.          the value of the shared variable as it was before and during the
  3072.          *first* call to the outermost subroutine, which is probably not what
  3073.          you want.
  3074.  
  3075.          In these circumstances, it is usually best to make the middle
  3076.          subroutine anonymous, using the sub {} syntax.  Perl has specific
  3077.          support for shared variables in nested anonymous subroutines; a named
  3078.          subroutine in between interferes with this feature.
  3079.  
  3080.      Variable "%s" will not stay shared
  3081.          (W) An inner (nested) _n_a_m_e_d subroutine is referencing a lexical
  3082.          variable defined in an outer subroutine.
  3083.  
  3084.          When the inner subroutine is called, it will probably see the value
  3085.          of the outer subroutine's variable as it was before and during the
  3086.          *first* call to the outer subroutine; in this case, after the first
  3087.          call to the outer subroutine is complete, the inner and outer
  3088.          subroutines will no longer share a common value for the variable.  In
  3089.          other words, the variable will no longer be shared.
  3090.  
  3091.          Furthermore, if the outer subroutine is anonymous and references a
  3092.          lexical variable outside itself, then the outer and inner subroutines
  3093.          will _n_e_v_e_r share the given variable.
  3094.  
  3095.          This problem can usually be solved by making the inner subroutine
  3096.  
  3097.  
  3098.  
  3099.                                                                        PPPPaaaaggggeeee 44447777
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  3107.  
  3108.  
  3109.  
  3110.          anonymous, using the sub {} syntax.  When inner anonymous subs that
  3111.          reference variables in outer subroutines are called or referenced,
  3112.          they are automatically rebound to the current values of such
  3113.          variables.
  3114.  
  3115.      Variable syntax
  3116.          (A) You've accidentally run your script through ccccsssshhhh instead of Perl.
  3117.          Check the #! line, or manually feed your script into Perl yourself.
  3118.  
  3119.      Warning: something's wrong
  3120.          (W) You passed _w_a_r_n() an empty string (the equivalent of warn "") or
  3121.          you called it with no args and $_ was empty.
  3122.  
  3123.      Warning: unable to close filehandle %s properly
  3124.          (S) The implicit _c_l_o_s_e() done by an _o_p_e_n() got an error indication on
  3125.          the _c_l_o_s_e().  This usually indicates your file system ran out of disk
  3126.          space.
  3127.  
  3128.      Warning: Use of "%s" without parentheses is ambiguous
  3129.          (S) You wrote a unary operator followed by something that looks like
  3130.          a binary operator that could also have been interpreted as a term or
  3131.          unary operator.  For instance, if you know that the rand function has
  3132.          a default argument of 1.0, and you write
  3133.  
  3134.              rand + 5;
  3135.  
  3136.          you may THINK you wrote the same thing as
  3137.  
  3138.              rand() + 5;
  3139.  
  3140.          but in actual fact, you got
  3141.  
  3142.              rand(+5);
  3143.  
  3144.          So put in parentheses to say what you really mean.
  3145.  
  3146.      Write on closed filehandle
  3147.          (W) The filehandle you're writing to got itself closed sometime
  3148.          before now.  Check your logic flow.
  3149.  
  3150.      X outside of string
  3151.          (F) You had a pack template that specified a relative position before
  3152.          the beginning of the string being unpacked.  See the pack entry in
  3153.          the _p_e_r_l_f_u_n_c manpage.
  3154.  
  3155.      x outside of string
  3156.          (F) You had a pack template that specified a relative position after
  3157.          the end of the string being unpacked.  See the pack entry in the
  3158.          _p_e_r_l_f_u_n_c manpage.
  3159.  
  3160.  
  3161.  
  3162.  
  3163.  
  3164.  
  3165.                                                                        PPPPaaaaggggeeee 44448888
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  3173.  
  3174.  
  3175.  
  3176.      Xsub "%s" called in sort
  3177.          (F) The use of an external subroutine as a sort comparison is not yet
  3178.          supported.
  3179.  
  3180.      Xsub called in sort
  3181.          (F) The use of an external subroutine as a sort comparison is not yet
  3182.          supported.
  3183.  
  3184.      You can't use -l on a filehandle
  3185.          (F) A filehandle represents an opened file, and when you opened the
  3186.          file it already went past any symlink you are presumably trying to
  3187.          look for.  Use a filename instead.
  3188.  
  3189.      YOU HAVEN'T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!
  3190.          (F) And you probably never will, because you probably don't have the
  3191.          sources to your kernel, and your vendor probably doesn't give a rip
  3192.          about what you want.  Your best bet is to use the wrapsuid script in
  3193.          the eg directory to put a setuid C wrapper around your script.
  3194.  
  3195.      You need to quote "%s"
  3196.          (W) You assigned a bareword as a signal handler name.  Unfortunately,
  3197.          you already have a subroutine of that name declared, which means that
  3198.          Perl 5 will try to call the subroutine when the assignment is
  3199.          executed, which is probably not what you want.  (If it IS what you
  3200.          want, put an & in front.)
  3201.  
  3202.      [gs]etsockopt() on closed fd
  3203.          (W) You tried to get or set a socket option on a closed socket.  Did
  3204.          you forget to check the return value of your _s_o_c_k_e_t() call?  See the
  3205.          getsockopt entry in the _p_e_r_l_f_u_n_c manpage.
  3206.  
  3207.      \1 better written as $1
  3208.          (W) Outside of patterns, backreferences live on as variables.  The
  3209.          use of backslashes is grandfathered on the right-hand side of a
  3210.          substitution, but stylistically it's better to use the variable form
  3211.          because other Perl programmers will expect it, and it works better if
  3212.          there are more than 9 backreferences.
  3213.  
  3214.      '|' and '<' may not both be specified on command line
  3215.          (F) An error peculiar to VMS.  Perl does its own command line
  3216.          redirection, and found that STDIN was a pipe, and that you also tried
  3217.          to redirect STDIN using '<'.  Only one STDIN stream to a customer,
  3218.          please.
  3219.  
  3220.      '|' and '>' may not both be specified on command line
  3221.          (F) An error peculiar to VMS.  Perl does its own command line
  3222.          redirection, and thinks you tried to redirect stdout both to a file
  3223.          and into a pipe to another command.  You need to choose one or the
  3224.          other, though nothing's stopping you from piping into a program or
  3225.          Perl script which 'splits' output into two streams, such as
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.                                                                        PPPPaaaaggggeeee 44449999
  3232.  
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  3239.  
  3240.  
  3241.  
  3242.              open(OUT,">$ARGV[0]") or die "Can't write to $ARGV[0]: $!";
  3243.              while (<STDIN>) {
  3244.                  print;
  3245.                  print OUT;
  3246.              }
  3247.              close OUT;
  3248.  
  3249.  
  3250.      Got an error from DosAllocMem
  3251.          (P) An error peculiar to OS/2.  Most probably you're using an
  3252.          obsolete version of Perl, and this should not happen anyway.
  3253.  
  3254.      Malformed PERLLIB_PREFIX
  3255.          (F) An error peculiar to OS/2.  PERLLIB_PREFIX should be of the form
  3256.  
  3257.              prefix1;prefix2
  3258.  
  3259.          or
  3260.  
  3261.              prefix1 prefix2
  3262.  
  3263.          with nonempty prefix1 and prefix2.  If prefix1 is indeed a prefix of
  3264.          a builtin library search path, prefix2 is substituted.  The error may
  3265.          appear if components are not found, or are too long.  See
  3266.          "PERLLIB_PREFIX" in _R_E_A_D_M_E._o_s_2.
  3267.  
  3268.      PERL_SH_DIR too long
  3269.          (F) An error peculiar to OS/2. PERL_SH_DIR is the directory to find
  3270.          the sh-shell in.  See "PERL_SH_DIR" in _R_E_A_D_M_E._o_s_2.
  3271.  
  3272.      Process terminated by SIG%s
  3273.          (W) This is a standard message issued by OS/2 applications, while
  3274.          *nix applications die in silence.  It is considered a feature of the
  3275.          OS/2 port.  One can easily disable this by appropriate sighandlers,
  3276.          see the section on _S_i_g_n_a_l_s in the _p_e_r_l_i_p_c manpage.  See also "Process
  3277.          terminated by SIGTERM/SIGINT" in _R_E_A_D_M_E._o_s_2.
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.                                                                        PPPPaaaaggggeeee 55550000
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304. PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))                                                        PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  3305.  
  3306.  
  3307.  
  3308.  
  3309.  
  3310.  
  3311.  
  3312.  
  3313.  
  3314.  
  3315.  
  3316.  
  3317.  
  3318.  
  3319.  
  3320.  
  3321.  
  3322.  
  3323.  
  3324.  
  3325.  
  3326.  
  3327.  
  3328.  
  3329.  
  3330.  
  3331.  
  3332.  
  3333.  
  3334.  
  3335.  
  3336.  
  3337.  
  3338.  
  3339.  
  3340.  
  3341.  
  3342.  
  3343.  
  3344.  
  3345.  
  3346.  
  3347.  
  3348.  
  3349.  
  3350.  
  3351.  
  3352.  
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.  
  3360.                                                                        PPPPaaaaggggeeee 55551111
  3361.  
  3362.  
  3363.  
  3364.  
  3365.  
  3366.  
  3367.